rusefi-hardware/SENT-box/firmware/sent.h

63 lines
1.2 KiB
C
Raw Normal View History

2022-05-16 08:28:09 -07:00
/*
* sent.h
*
* Created on: 16 <EFBFBD><EFBFBD><EFBFBD> 2022 <EFBFBD>.
2022-05-16 08:28:09 -07:00
* Author: alexv
*/
#ifndef SENT_H_
#define SENT_H_
#define SENT_CHANNELS_NUM 4 // Number of sent channels
#define SENT_ICU_FREQ 400000 // 2.5 us
#define SENT_SYNC_INTERVAL 44 // 56 ticks - 12
#define SENT_OFFSET_INTERVAL 12
#define SENT_MIN_INTERVAL 12
#define SENT_MAX_INTERVAL 15
#define SENT_CRC_SEED 0x05
#define SENT_MSG_PAYLOAD_SIZE 6 // Size of payload
#define SENT_ERR_PERCENT 0
#define SENT_ICUD_CH1 ICUD4
#define SENT_ICUD_CH2 ICUD3
#define SENT_ICUD_CH3 ICUD1
enum
{
SENT_CH1 = 0,
SENT_CH2,
SENT_CH3,
SENT_CH4,
};
2022-05-16 08:28:09 -07:00
typedef enum
{
SM_SENT_INIT_STATE = 0,
SM_SENT_SYNC_STATE,
SM_SENT_STATUS_STATE,
SM_SENT_SIG1_DATA1_STATE,
SM_SENT_SIG1_DATA2_STATE,
SM_SENT_SIG1_DATA3_STATE,
SM_SENT_SIG2_DATA1_STATE,
SM_SENT_SIG2_DATA2_STATE,
SM_SENT_SIG2_DATA3_STATE,
SM_SENT_CRC_STATE,
}SM_SENT_enum;
void InitSent();
uint16_t SENT_GetData(uint8_t ch);
uint16_t SENT_GetRollErrCnt(void);
uint16_t SENT_GetCrcErrCnt(void);
2022-05-16 14:31:19 -07:00
uint16_t SENT_GetIntervalErrCnt(void);
uint16_t SENT_GetSyncErrCnt(void);
2022-05-16 08:28:09 -07:00
#endif /* SENT_H_ */