Merge branch 'scs' of https://github.com/mmr-driverless/mmr_can into scs
This commit is contained in:
@@ -22,7 +22,7 @@ typedef enum {
|
||||
MMR_CAN_MESSAGE_ACK = B_(0001),
|
||||
MMR_CAN_MESSAGE_TYPE_MULTI_FRAME = B_(0010),
|
||||
MMR_CAN_MESSAGE_TYPE_MULTI_FRAME_END = B_(0011),
|
||||
MMR_CAN_MESSAGE_TYPE_NORMAL = B_(1000),
|
||||
MMR_CAN_MESSAGE_TYPE_NORMAL = B_(0100),
|
||||
} MmrCanMessageType;
|
||||
|
||||
|
||||
@@ -40,9 +40,10 @@ typedef enum {
|
||||
*/
|
||||
typedef struct {
|
||||
MmrCanMessagePriority priority : 3;
|
||||
MmrCanMessageId messageId : 10;
|
||||
uint32_t senderId : 12;
|
||||
MmrCanMessageType messageType : 4;
|
||||
uint16_t messageId : 10;
|
||||
uint16_t senderId : 10;
|
||||
uint8_t seqNumber : 3;
|
||||
MmrCanMessageType messageType : 3;
|
||||
} MmrCanHeader;
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef INC_MMR_CAN_MESSAGE_ID_H_
|
||||
#define INC_MMR_CAN_MESSAGE_ID_H_
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include "mmr_can_binary_literals.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#ifndef INC_MMR_CAN_SCS_H_
|
||||
#define INC_MMR_CAN_SCS_H_
|
||||
|
||||
#ifndef MMR_CAN_SCS_DICTIONARY_SIZE
|
||||
#define MMR_CAN_SCS_DICTIONARY_SIZE 5
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include "mmr_can.h"
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t key;
|
||||
uint32_t delayStart;
|
||||
} MmrCanScsDictEntry;
|
||||
|
||||
typedef MmrCanScsDictEntry MmrCanScsDictionary[MMR_CAN_SCS_DICTIONARY_SIZE];
|
||||
typedef void(*MmrCanScsDictAction)(MmrCanScsDictEntry *entry);
|
||||
|
||||
|
||||
void MMR_CAN_ScsDictPut(MmrCanScsDictEntry entry);
|
||||
void MMR_CAN_ScsDictRemove(uint32_t key);
|
||||
void MMR_CAN_ScsDictForeach(MmrCanScsDictAction action);
|
||||
|
||||
uint32_t MMR_CAN_ScsGetKey(MmrCanMessage *message);
|
||||
|
||||
#endif // !INC_MMR_CAN_SCS_H_
|
||||
Reference in New Issue
Block a user