feat(gas-logger): добавь непрерывный логгер и JSON-карту

This commit is contained in:
2026-10-01 22:54:29 +03:00
parent 675ce063f0
commit f7a6f767e1
22 changed files with 1250 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
#include "gas_logger_pcan.h"
static pcan_gas_status_t result(gl_result r)
{ return r==GL_OK ? PCAN_GAS_OK : r==GL_ADDRESS ? PCAN_GAS_NO_REG : PCAN_GAS_REJECTED; }
static pcan_gas_status_t read_word(const pcan_gas_region_t *r,uint16_t o,uint16_t *v)
{ return result(gl_can_read(r->user,(uint16_t)(r->base+o),v,1)); }
static pcan_gas_status_t write_word(const pcan_gas_region_t *r,uint16_t o,uint16_t v)
{ return result(gl_write(r->user,(uint16_t)(r->base+o),v)); }
void gl_pcan_region_init(pcan_gas_region_t *r,gas_logger *l)
{
r->base=l->config.base;
r->count=(uint16_t)(GL_DATA_OFFSET+(uint32_t)l->config.capacity*(l->config.channels+GL_HEADER_WORDS));
r->storage=0;r->read=read_word;r->write=write_word;r->flags=0;r->user=l;r->name="gas-logger";
}