29 lines
1.0 KiB
C
29 lines
1.0 KiB
C
/*
|
|
* Модель ответов TMS для эмулятора контроллера. Синтетические аналоговые и дискретные значения
|
|
* упаковываются в ожидаемый формат терминала, чтобы проверять клиент без подключения рабочего
|
|
* контроллера.
|
|
*/
|
|
|
|
#ifndef SET_EMU_TMS_H
|
|
#define SET_EMU_TMS_H
|
|
#include "set_regmap.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#define SET_TMS_WORDS 80u
|
|
typedef struct {
|
|
uint8_t controls[6], running;
|
|
uint16_t commands[10], divider;
|
|
int32_t frequency, target;
|
|
} set_tms_emu;
|
|
PCAN_ABI_API void set_tms_init(set_tms_emu *);
|
|
PCAN_ABI_API void set_tms_tick(set_tms_emu *);
|
|
PCAN_ABI_API unsigned set_tms_read(void *,uint16_t,uint16_t,uint16_t *);
|
|
PCAN_ABI_API unsigned set_tms_write(void *,uint16_t,uint16_t);
|
|
PCAN_ABI_API size_t set_tms_rtu(set_tms_emu *,unsigned device,const uint8_t *,
|
|
size_t,uint8_t *,size_t);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|