17 #ifndef __COMMUNICATION_H 18 #define __COMMUNICATION_H 53 void (*getFunc)(void);
54 void (*setFunc)(void);
66 void (*getFunc)(
void),
void (*setFunc)(
void));
92 bool (*getFunc)(
void),
void (*setFunc)(
bool));
94 uint8_t (*getFunc)(
void),
void (*setFunc)(uint8_t));
96 int8_t (*getFunc)(
void),
void (*setFunc)(int8_t));
98 uint16_t (*getFunc)(
void),
99 void (*setFunc)(uint16_t));
101 int16_t (*getFunc)(
void),
void (*setFunc)(int16_t));
103 uint32_t (*getFunc)(
void),
104 void (*setFunc)(uint32_t));
106 int32_t (*getFunc)(
void),
void (*setFunc)(int32_t));
108 uint64_t (*getFunc)(
void),
109 void (*setFunc)(uint64_t));
111 int64_t (*getFunc)(
void),
void (*setFunc)(int64_t));
113 float (*getFunc)(
void),
void (*setFunc)(
float));
115 double (*getFunc)(
void),
void (*setFunc)(
double));
131 #define comm_SendDebugMessageDecimated(decimation, format, ...) \ 134 static int comm_decim##__COUNTER__ = 0; \ 135 if(comm_decim##__COUNTER__++ % decimation == 0) \ 137 comm_SendDebugMessage(format, ##__VA_ARGS__); \ comm_VarType type
Definition: communication.h:49
void comm_monitorInt8Func(const char name[], int8_t(*getFunc)(void), void(*setFunc)(int8_t))
Adds a monitored int8_t variable to the list, with getter/setter.
Definition: communication.c:844
void comm_monitorInt16Func(const char name[], int16_t(*getFunc)(void), void(*setFunc)(int16_t))
Adds a monitored int16_t variable to the list, with getter/setter.
Definition: communication.c:871
void comm_monitorFloat(const char name[], float *address, comm_VarAccess access)
Adds a monitored float variable to the list, with its address.
Definition: communication.c:791
comm_VarAccess access
Definition: communication.h:51
void comm_monitorDoubleFunc(const char name[], double(*getFunc)(void), void(*setFunc)(double))
Adds a monitored double variable to the list, with getter/setter.
Definition: communication.c:952
void * address
Definition: communication.h:48
void comm_monitorUint64(const char name[], uint64_t *address, comm_VarAccess access)
Adds a monitored uint64_t variable to the list, with its address.
Definition: communication.c:763
uint8_t size
Definition: communication.h:50
void comm_SendDebugMessage(const char *format,...)
Sends a debug message to the computer.
Definition: communication.c:974
void comm_monitorInt16(const char name[], int16_t *address, comm_VarAccess access)
Adds a monitored int16_t variable to the list, with its address.
Definition: communication.c:721
void comm_monitorInt64(const char name[], int64_t *address, comm_VarAccess access)
Adds a monitored int64_t variable to the list, with its address.
Definition: communication.c:777
void comm_monitorUint8(const char name[], uint8_t *address, comm_VarAccess access)
Adds a monitored uint8_t variable to the list, with its address.
Definition: communication.c:679
void comm_monitorInt8(const char name[], int8_t *address, comm_VarAccess access)
Adds a monitored int8_t variable to the list, with its address.
Definition: communication.c:693
void comm_monitorInt32(const char name[], int32_t *address, comm_VarAccess access)
Adds a monitored int32_t variable to the list, with its address.
Definition: communication.c:749
void comm_monitorUint32(const char name[], uint32_t *address, comm_VarAccess access)
Adds a monitored uint32_t variable to the list, with its address.
Definition: communication.c:735
bool usesVarAddress
Definition: communication.h:52
void comm_monitorVar(const char name[], void *address, comm_VarType type, uint8_t size, comm_VarAccess access)
Adds a monitored variable to the list, with its address.
Definition: communication.c:549
void comm_Step(void)
Updates the communication manager. Send the bytes waiting in the TX buffer, and process the bytes rec...
Definition: communication.c:91
void comm_LockSyncVarsList(void)
Locks the monitored variables, so it can be used. After the call to this function, adding variables will not be possible anymore. The PC will not be able to get the variables list until this function is called.
Definition: communication.c:964
void comm_monitorInt64Func(const char name[], int64_t(*getFunc)(void), void(*setFunc)(int64_t))
Adds a monitored int64_t variable to the list, with getter/setter.
Definition: communication.c:925
void comm_monitorUint16(const char name[], uint16_t *address, comm_VarAccess access)
Adds a monitored uint16_t variable to the list, with its address.
Definition: communication.c:707
Definition: communication.h:45
void comm_monitorInt32Func(const char name[], int32_t(*getFunc)(void), void(*setFunc)(int32_t))
Adds a monitored int32_t variable to the list, with getter/setter.
Definition: communication.c:898
void comm_NotifyReady(void)
Sends a packet to notify the PC that the board just (re)started. This informs the PC software that th...
Definition: communication.c:108
#define SYNCVAR_NAME_SIZE
Definition: definitions.h:46
comm_VarType
Definition: definitions.h:55
void comm_monitorUint32Func(const char name[], uint32_t(*getFunc)(void), void(*setFunc)(uint32_t))
Adds a monitored uint32_t variable to the list, with getter/setter.
Definition: communication.c:884
void comm_monitorBool(const char name[], bool *address, comm_VarAccess access)
Adds a monitored bool variable to the list, with its address.
Definition: communication.c:665
comm_VarAccess
Definition: definitions.h:48
void comm_monitorFloatFunc(const char name[], float(*getFunc)(void), void(*setFunc)(float))
Adds a monitored float variable to the list, with getter/setter.
Definition: communication.c:938
void comm_monitorDouble(const char name[], double *address, comm_VarAccess access)
Adds a monitored double variable to the list, with its address.
Definition: communication.c:805
void comm_monitorBoolFunc(const char name[], bool(*getFunc)(void), void(*setFunc)(bool))
Adds a monitored bool variable to the list, with getter/setter.
Definition: communication.c:818
void comm_Init(void)
Init the communication manager.
Definition: communication.c:70
void comm_monitorUint8Func(const char name[], uint8_t(*getFunc)(void), void(*setFunc)(uint8_t))
Adds a monitored uint8_t variable to the list, with getter/setter.
Definition: communication.c:831
void comm_monitorUint64Func(const char name[], uint64_t(*getFunc)(void), void(*setFunc)(uint64_t))
Adds a monitored uint64_t variable to the list, with getter/setter.
Definition: communication.c:911
void comm_monitorUint16Func(const char name[], uint16_t(*getFunc)(void), void(*setFunc)(uint16_t))
Adds a monitored uint16_t variable to the list, with getter/setter.
Definition: communication.c:857
void comm_monitorVarFunc(const char name[], comm_VarType type, uint8_t size, void(*getFunc)(void), void(*setFunc)(void))
Adds a monitored variable to the list, with getter/setter functions. If the getter and setter are set...
Definition: communication.c:605