fix addressing bug in _doSign bitfield
This commit is contained in:
@@ -20,6 +20,6 @@
|
|||||||
#include "MySigning.h"
|
#include "MySigning.h"
|
||||||
|
|
||||||
|
|
||||||
uint16_t _doSign[16]; // Bitfield indicating which sensors require signed communication
|
uint8_t _doSign[32]; // Bitfield indicating which sensors require signed communication
|
||||||
MyMessage _msgSign; // Buffer for message to sign.
|
MyMessage _msgSign; // Buffer for message to sign.
|
||||||
|
|
||||||
|
|||||||
@@ -485,12 +485,12 @@ typedef struct {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Macros for manipulating signing requirement table
|
// Macros for manipulating signing requirement table
|
||||||
/** @brief Return 'true' if provided node ID is requiering signed messages */
|
/** @brief Return 'true' if provided node ID is requiring signed messages */
|
||||||
#define DO_SIGN(node) (node == 0 ? (~_doSign[0]&1) : (~_doSign[node>>4]&(node%16)))
|
#define DO_SIGN(node) (~_doSign[node>>3]&(1<<(node%8)))
|
||||||
/** @brief Mark provided node ID to require signed messages in table */
|
/** @brief Mark provided node ID to require signed messages in table */
|
||||||
#define SET_SIGN(node) (node == 0 ? (_doSign[0]&=~1) : (_doSign[node>>4]&=~(node%16)))
|
#define SET_SIGN(node) (_doSign[node>>3]&=~(1<<(node%8)))
|
||||||
/** @brief Mark provided node ID to not require signed messages in table */
|
/** @brief Mark provided node ID to not require signed messages in table */
|
||||||
#define CLEAR_SIGN(node) (node == 0 ? (_doSign[0]|=1) : (_doSign[node>>4]|=(node%16)))
|
#define CLEAR_SIGN(node) (_doSign[node>>3]|=(1<<(node%8)))
|
||||||
/** @brief Helper macro to determine the number of elements in a array */
|
/** @brief Helper macro to determine the number of elements in a array */
|
||||||
#define NUM_OF(x) (sizeof(x)/sizeof(x[0]))
|
#define NUM_OF(x) (sizeof(x)/sizeof(x[0]))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user