From c0bb9c401876ade1356430e491b55186c591981c Mon Sep 17 00:00:00 2001 From: Allen Hill Date: Sat, 16 May 2026 01:26:43 +0000 Subject: [PATCH] Use bool consistently now that we're on C23 --- src/avclandrv.c | 27 +++++++++++++-------------- src/avclandrv.h | 4 ++-- src/queue.c | 10 +++++----- src/queue.h | 4 ++-- src/sniffer.c | 46 +++++++++++++++++++++++----------------------- 5 files changed, 45 insertions(+), 46 deletions(-) diff --git a/src/avclandrv.c b/src/avclandrv.c index 51340f8..967611d 100644 --- a/src/avclandrv.c +++ b/src/avclandrv.c @@ -210,12 +210,12 @@ static inline void AVCLAN_setBusDriven() { // clang-format on // Returns true if device TX is muted on AVCLAN bus -static inline uint8_t AVCLAN_ismuted() { +static inline bool AVCLAN_ismuted() { return (((VPORTA_DIR & PIN4_bm) | (VPORTA_DIR & PIN0_bm)) == 0); } // Mute device TX on AVCLAN bus -void AVCLAN_muteDevice(uint8_t mute) { +void AVCLAN_muteDevice(bool mute) { if (mute) { // clang-format off __asm__ __volatile__("cbi %[vporta_dir], 4; \n\t" // set as INPUT (output values ignored) @@ -291,7 +291,7 @@ void AVCLAN_init() { AVCLAN_setBusIdle(); - AVCLAN_muteDevice(0); // unmute AVCLAN bus TX + AVCLAN_muteDevice(false); // unmute AVCLAN bus TX cd_status.cds = cd_CD1; cd_status.disc = 1; @@ -328,7 +328,7 @@ static void serializeCDStatus(uint8_t *dst) { dst[5] = toBCD(cd_status.secs); } -uint8_t AVCLAN_isPlaying() { return (CD_Mode == stPlay); } +bool AVCLAN_isPlaying() { return (CD_Mode == stPlay); } void AVCLAN_incrementTime() { // Sentinel values (>99) mean "no time"; leave them alone until setTime() @@ -414,7 +414,7 @@ uint8_t AVCLAN_readbit_ACK() { set_AVC_logic_for(0, AVCLAN_BIT1_LOGIC_0); AVCLAN_setBusIdle(); // Stop driving bus - while (1) { + while (true) { if (!BUS_IS_IDLE && (TCB1.CNT > AVCLAN_READBIT_THRESHOLD)) break; // ACK if (TCB1.CNT > AVCLAN_BIT_LENGTH_MAX) @@ -512,7 +512,7 @@ uint8_t AVCLAN_readbitsi(uint8_t *bits, uint8_t len) { sei(); TCB1.CNT = 0; - while (READING_NBITS != 0) { + while (READING_NBITS) { // 200% the duration of `len` bits if (TCB1.CNT > ((uint16_t)AVCLAN_BIT_LENGTH_MAX * 2 * len)) { READING_BYTE = 0; @@ -551,7 +551,7 @@ uint8_t AVCLAN_readbyte(uint8_t *byte) { sei(); TCB1.CNT = 0; - while (READING_NBITS != 0) { + while (READING_NBITS) { // 200% the length of a byte if (TCB1.CNT > ((uint16_t)AVCLAN_BIT_LENGTH_MAX * 2 * 8)) { READING_BYTE = 0; @@ -644,8 +644,7 @@ uint8_t AVCLAN_readframe(AVCLAN_frame_t *frame, log_t print) { goto handle_err; } - uint8_t shouldACK = - !AVCLAN_ismuted() && (frame->peripheral_addr == DEVICE_ADDR); + bool shouldACK = !AVCLAN_ismuted() && (frame->peripheral_addr == DEVICE_ADDR); if (shouldACK) AVCLAN_sendbit_ACK(); @@ -705,7 +704,7 @@ uint8_t AVCLAN_readframe(AVCLAN_frame_t *frame, log_t print) { } } - if (0) { + if (false) { handle_err:; startEvent(); RS232_Print("ERR(read): "); @@ -740,7 +739,7 @@ uint8_t AVCLAN_readframe(AVCLAN_frame_t *frame, log_t print) { startEvent(); } - // Only print if some data has been correctly recieved + // Only print if some data has been correctly received if (print.print && (err.errno < STARTBIT_TOO_SHORT)) { if (err.errno > BAD_DATA_PARITY) frame->length = 0; @@ -848,7 +847,7 @@ uint8_t AVCLAN_sendframe(const AVCLAN_frame_t *frame, log_t print) { } // back to read mode - if (0) { + if (false) { handle_err:; startEvent(); RS232_Print("Error"); @@ -1057,7 +1056,7 @@ uint8_t AVCLAN_tryrespond(const AVCLAN_frame_t *resp) { return r; } -void AVCLAN_printframe(const AVCLAN_frame_t *frame, uint8_t binary) { +void AVCLAN_printframe(const AVCLAN_frame_t *frame, bool binary) { if (binary) { uint8_t buffer[8]; buffer[0] = 0x10; // Data Link Escape, signaling binary data forthcoming @@ -1138,7 +1137,7 @@ uint8_t AVCLAN_parseframe(const uint8_t *bytes, uint8_t len, goto handle_err; } - if (0) { + if (false) { handle_err:; RS232_Print("ERR(parse): "); switch (err.errno) { diff --git a/src/avclandrv.h b/src/avclandrv.h index b9569f6..d9d906c 100644 --- a/src/avclandrv.h +++ b/src/avclandrv.h @@ -195,7 +195,7 @@ typedef struct RFrame_struct { } RFrame_t; void AVCLAN_init(); -void AVCLAN_muteDevice(uint8_t mute); +void AVCLAN_muteDevice(bool mute); uint8_t AVCLAN_readframe(AVCLAN_frame_t *frame, log_t print); response_t AVCLAN_handleframe(const AVCLAN_frame_t *in, AVCLAN_frame_t *out); @@ -207,7 +207,7 @@ uint8_t AVCLAN_parseframe(const uint8_t *bytes, uint8_t len, AVCLAN_frame_t *AVCLAN_getStatusFrame(); void AVCLAN_generateStatus(AVCLAN_frame_t *status); -uint8_t AVCLAN_isPlaying(); +bool AVCLAN_isPlaying(); void AVCLAN_incrementTime(); void AVCLAN_setTime(uint8_t mins, uint8_t secs); void AVCLAN_normalizeState(); diff --git a/src/queue.c b/src/queue.c index 16d8c07..32fa2f0 100644 --- a/src/queue.c +++ b/src/queue.c @@ -4,11 +4,11 @@ #include "queue.h" void constructQueue(Queue_t *q, void **slots, void *items, uint8_t itemSize, - uint8_t len, uint8_t constructFull) { + uint8_t len, bool constructFull) { q->read = 0; q->size = len; q->buf = slots; - if (!!constructFull) { + if (constructFull) { q->write = len; for (uint8_t i = 0; i < len; ++i) { @@ -21,12 +21,12 @@ void constructQueue(Queue_t *q, void **slots, void *items, uint8_t itemSize, } void constructEmptyQueue(Queue_t *q, void **slots, uint8_t len) { - constructQueue(q, slots, nullptr, 0, len, 0); + constructQueue(q, slots, nullptr, 0, len, false); } -uint8_t isEmpty(const Queue_t *q) { return (q->write == q->read); } +bool isEmpty(const Queue_t *q) { return (q->write == q->read); } -static inline uint8_t isFull(const Queue_t *q) { +static inline bool isFull(const Queue_t *q) { return ((q->write - q->read) == q->size); } diff --git a/src/queue.h b/src/queue.h index d0e2e39..fc3798f 100644 --- a/src/queue.h +++ b/src/queue.h @@ -10,9 +10,9 @@ typedef struct Queue_struct { } Queue_t; void constructQueue(Queue_t *q, void **slots, void *items, uint8_t itemSize, - uint8_t len, uint8_t constructFull); + uint8_t len, bool constructFull); void constructEmptyQueue(Queue_t *q, void **slots, uint8_t len); -uint8_t isEmpty(const Queue_t *q); +bool isEmpty(const Queue_t *q); static inline void incrementRead(Queue_t *q) { q->read++; } uint8_t pushQueue(Queue_t *q, void *x); void *peekQueue(const Queue_t *q); diff --git a/src/sniffer.c b/src/sniffer.c index 0e6c98a..550db0a 100644 --- a/src/sniffer.c +++ b/src/sniffer.c @@ -37,19 +37,19 @@ const char *const offon[] = {"OFF", "ON"}; #define CACHE_SIZE 16 -_Static_assert((CACHE_SIZE & (CACHE_SIZE - 1)) == 0, - "CACHE_SIZE must be a power of two (qMask depends on it)"); +static_assert((CACHE_SIZE & (CACHE_SIZE - 1)) == 0, + "CACHE_SIZE must be a power of two (qMask depends on it)"); -AVCLAN_frame_t frames[CACHE_SIZE]; -RFrame_t responses[CACHE_SIZE]; -uint8_t framesdata[CACHE_SIZE][MAXMSGLEN]; +static AVCLAN_frame_t frames[CACHE_SIZE]; +static RFrame_t responses[CACHE_SIZE]; +static uint8_t framesdata[CACHE_SIZE][MAXMSGLEN]; -void *cacheSlots[CACHE_SIZE]; -void *rcacheSlots[CACHE_SIZE]; -void *incomingSlots[CACHE_SIZE]; -void *outgoingSlots[CACHE_SIZE]; +static void *cacheSlots[CACHE_SIZE]; +static void *rcacheSlots[CACHE_SIZE]; +static void *incomingSlots[CACHE_SIZE]; +static void *outgoingSlots[CACHE_SIZE]; -Queue_t cache, rcache, incoming, outgoing; +static Queue_t cache, rcache, incoming, outgoing; volatile uint8_t enqueueStatus = 0; @@ -75,14 +75,14 @@ static uint8_t push_or_return_resp(RFrame_t *resp) { return err; } -static void toggle_flag(uint8_t *flag, const char *msg) { - *flag ^= 1; +static void toggle_flag(bool *flag, const char *msg) { + *flag = !*flag; RS232_Print(msg); RS232_Print(offon[*flag]); RS232_Print("\n"); } -static void set_flag(uint8_t *flag, uint8_t val, const char *msg) { +static void set_flag(bool *flag, bool val, const char *msg) { *flag = val; RS232_Print(msg); RS232_Print(offon[val]); @@ -95,14 +95,14 @@ int main() { uint8_t hexDigit = 0; // current digit being written to hexChars bool seqIsUnicast = false; - uint8_t lastPrintAllFrames = 1; + bool lastPrintAllFrames = 1; - uint8_t verbose = 1; - uint8_t printAllFrames = 1; - uint8_t printBinary = 0; - uint8_t echoCharacters = 1; - uint8_t readBinary = 0; - uint8_t muteBus = 0; + bool verbose = 1; + bool printAllFrames = 1; + bool printBinary = 0; + bool echoCharacters = 1; + bool readBinary = 0; + bool muteBus = 0; // Binary-mode REPL includes the full wire preamble (broadcast + 2*addr + // control + length), so size for the worst case. @@ -117,17 +117,17 @@ int main() { } constructQueue(&cache, cacheSlots, frames, sizeof(AVCLAN_frame_t), CACHE_SIZE, - 1); + true); constructEmptyQueue(&incoming, incomingSlots, CACHE_SIZE); constructQueue(&rcache, rcacheSlots, responses, sizeof(RFrame_t), CACHE_SIZE, - 1); + true); constructEmptyQueue(&outgoing, outgoingSlots, CACHE_SIZE); Setup(); print_help(); - while (1) { + while (true) { if (!BUS_IS_IDLE) { if (AVCLAN_frame_t *msg = popQueue(&cache)) {