5#ifndef __PETIT_MODBUS_PORT_H__
6#define __PETIT_MODBUS_PORT_H__
9#define PETIT_CRC_TABULAR (0x4040)
10#define PETIT_CRC_BITWISE (0x2020)
11#define PETIT_CRC_EXTERNAL (0x9090)
13#define PETIT_INTERNAL (0x1333)
14#define PETIT_BOTH (0x1222)
15#define PETIT_EXTERNAL (0x2222)
17#define PETIT_USER_LED_NONE (0x7777)
18#define PETIT_USER_LED_FN (0x5555)
19#define PETIT_USER_LED_DEF (0x3333)
31#if defined(PETIT_COIL) && \
32 (PETIT_COIL == PETIT_INTERNAL || PETIT_COIL == PETIT_BOTH)
33 pu8_t PetitCoils[NUMBER_OF_PETITCOILS];
35#if defined(PETIT_REG) && \
36 (PETIT_REG == PETIT_INTERNAL || PETIT_REG == PETIT_BOTH)
41#if defined(PETIT_INPUT_REG) && \
42 (PETIT_INPUT_REG == PETIT_INTERNAL ||\
43 PETIT_INPUT_REG == PETIT_BOTH)
53#if defined(PETIT_CRC) && PETIT_CRC == PETIT_CRC_EXTERNAL
57#if defined(PETIT_COIL) && \
58 (PETIT_COIL == PETIT_EXTERNAL || PETIT_REG == PETIT_BOTH)
63#if defined(PETIT_REG) && \
64 (PETIT_REG == PETIT_EXTERNAL || PETIT_REG == PETIT_BOTH)
68#if defined(PETIT_INPUT_REG) && \
69 (PETIT_INPUT_REG == PETIT_EXTERNAL || \
70 PETIT_INPUT_REG == PETIT_BOTH)
73#if !defined(PETIT_USER_LED) || PETIT_USER_LED == PETIT_USER_LED_NONE
75#define PetitLedErrFail()
76#define PetitLedCrcFail()
78#elif defined(PETIT_USER_LED) && PETIT_USER_LED == PETIT_USER_LED_FN
#define PetitLedErrFail()
void PetitRxBufferReset(void)
#define PetitLedCrcFail()
pb_t PetitRxBufferInsert(pu8_t rcvd)
pb_t PetitTxBufferPop(pu8_t *tx)
pb_t PetitPortCoilRead(pu16_t Address, pu8_t *Data)
#define NUMBER_OF_PETITREGISTERS
void PetitPortTimerStart(void)
pb_t PetitPortCoilWrite(pu16_t Address, pu16_t Data)
#define PetitPortCRC16Calc(a, d)
pb_t PetitPortRegWrite(pu8_t Address, pu16_t Data)
pb_t PetitPortRegRead(pu8_t Address, pu16_t *Data)
#define NUMBER_OF_INPUT_PETITREGISTERS
void PetitPortTxBegin(pu8_t tx)
void PetitPortDirRx(void)
void PetitPortDirTx(void)
void PetitPortTimerStop(void)