vasko ozo
/
F031K6_TxRxService
Test1
TxRxService.h@16:459ad1bd82fd, 2019-08-04 (annotated)
- Committer:
- VASKO
- Date:
- Sun Aug 04 18:01:47 2019 +0000
- Revision:
- 16:459ad1bd82fd
- Parent:
- 15:30e45bd5902e
Redefinitions. Bug with "memcpy" parameters in "CopyArr_InitTx" fixed. (Struct and so on) packing problem solved.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
VASKO | 16:459ad1bd82fd | 1 | |
VASKO | 15:30e45bd5902e | 2 | #define HeaderByte 0x48 |
VASKO | 15:30e45bd5902e | 3 | #define HeaderLength 5 |
VASKO | 12:6f63e376c0aa | 4 | |
VASKO | 16:459ad1bd82fd | 5 | #pragma pack(push, 1)//https://os.mbed.com/forum/bugs-suggestions/topic/4264/ проблема выравнивания данных |
VASKO | 12:6f63e376c0aa | 6 | typedef union { |
VASKO | 12:6f63e376c0aa | 7 | uint8_t ui8[4]; |
VASKO | 12:6f63e376c0aa | 8 | int8_t i8[4]; |
VASKO | 12:6f63e376c0aa | 9 | uint16_t ui16[2]; |
VASKO | 12:6f63e376c0aa | 10 | int16_t i16[2]; |
VASKO | 12:6f63e376c0aa | 11 | uint32_t ui32; |
VASKO | 12:6f63e376c0aa | 12 | int32_t i32; |
VASKO | 12:6f63e376c0aa | 13 | float f; |
VASKO | 12:6f63e376c0aa | 14 | } ParsType; |
VASKO | 12:6f63e376c0aa | 15 | |
VASKO | 12:6f63e376c0aa | 16 | typedef struct { |
VASKO | 12:6f63e376c0aa | 17 | uint8_t cmd; |
VASKO | 12:6f63e376c0aa | 18 | ParsType pars; |
VASKO | 12:6f63e376c0aa | 19 | uint8_t cs; |
VASKO | 12:6f63e376c0aa | 20 | } MsgType; |
VASKO | 16:459ad1bd82fd | 21 | #pragma pack(pop) |
VASKO | 15:30e45bd5902e | 22 | |
VASKO | 16:459ad1bd82fd | 23 | #define ArrTxSize (HeaderLength + sizeof(MsgType)) |
VASKO | 16:459ad1bd82fd | 24 | #define ArrRxSize (HeaderLength + sizeof(MsgType)) |
VASKO | 16:459ad1bd82fd | 25 | |
VASKO | 16:459ad1bd82fd | 26 | enum StartTxStates { |
VASKO | 16:459ad1bd82fd | 27 | StartOK, |
VASKO | 16:459ad1bd82fd | 28 | TxBusy, |
VASKO | 16:459ad1bd82fd | 29 | Undefined |
VASKO | 16:459ad1bd82fd | 30 | }; |
VASKO | 16:459ad1bd82fd | 31 | |
VASKO | 16:459ad1bd82fd | 32 | #define ArrTxInitializer {0x2D,HeaderByte,HeaderByte,HeaderByte,0x3D} |
VASKO | 16:459ad1bd82fd | 33 | #define ArrRxInitializer {} |
VASKO | 16:459ad1bd82fd | 34 | |
VASKO | 15:30e45bd5902e | 35 | extern MsgType RxBuff; |
VASKO | 15:30e45bd5902e | 36 | extern bool RxBuffFull; |
VASKO | 15:30e45bd5902e | 37 | extern StartTxStates StartTx(uint8_t *parr); |
VASKO | 15:30e45bd5902e | 38 | extern void TxRxServiceInit(); |
VASKO | 15:30e45bd5902e | 39 | extern uint8_t GetCheckSum(uint8_t *p); |