mirror of
https://github.com/halleysfifthinc/AVCLAN-Mockingboard.git
synced 2026-08-06 17:03:17 +00:00
Add some compiler warnings and fix revealed bugs
This commit is contained in:
@@ -6,4 +6,5 @@ AllowShortBlocksOnASingleLine: Empty
|
|||||||
IndentCaseLabels: true
|
IndentCaseLabels: true
|
||||||
IndentPPDirectives: BeforeHash
|
IndentPPDirectives: BeforeHash
|
||||||
AlignConsecutiveMacros: Consecutive
|
AlignConsecutiveMacros: Consecutive
|
||||||
|
AllowShortCaseLabelsOnASingleLine: true
|
||||||
...
|
...
|
||||||
|
|||||||
+3
-3
@@ -97,9 +97,9 @@ endif()
|
|||||||
set(CMAKE_C_STANDARD 17)
|
set(CMAKE_C_STANDARD 17)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-Os")
|
set(CMAKE_C_FLAGS_RELEASE "-Wall -Wswitch-enum -Werror -Os")
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Wall -Wswitch-enum -Werror -O2 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
||||||
set(CMAKE_C_FLAGS_DEBUG "-O0 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
set(CMAKE_C_FLAGS_DEBUG "-Wall -Wswitch-enum -Werror -O0 -save-temps -g -gdwarf-3 -gstrict-dwarf")
|
||||||
|
|
||||||
# Set startup time to 8 ms (0x4)
|
# Set startup time to 8 ms (0x4)
|
||||||
set(AVR_UPLOADTOOL_BASE_OPTIONS ${AVR_UPLOADTOOL_BASE_OPTIONS} -U syscfg1:w:0x4:m)
|
set(AVR_UPLOADTOOL_BASE_OPTIONS ${AVR_UPLOADTOOL_BASE_OPTIONS} -U syscfg1:w:0x4:m)
|
||||||
|
|||||||
+34
-25
@@ -360,7 +360,7 @@ void AVCLAN_sendbit(avclan_bit_t bit) {
|
|||||||
zero_length = AVCLAN_STARTBIT_LOGIC_0;
|
zero_length = AVCLAN_STARTBIT_LOGIC_0;
|
||||||
one_length = AVCLAN_STARTBIT_LOGIC_1;
|
one_length = AVCLAN_STARTBIT_LOGIC_1;
|
||||||
break;
|
break;
|
||||||
default:
|
default: __builtin_unreachable();
|
||||||
}
|
}
|
||||||
set_AVC_logic_for(0, zero_length);
|
set_AVC_logic_for(0, zero_length);
|
||||||
set_AVC_logic_for(1, one_length);
|
set_AVC_logic_for(1, one_length);
|
||||||
@@ -542,18 +542,17 @@ uint8_t AVCLAN_readbyte(uint8_t *byte) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t AVCLAN_readframe() {
|
uint8_t AVCLAN_readframe() {
|
||||||
typedef enum : uint8_t {
|
|
||||||
STARTBIT_TIMEOUT = 0x01,
|
|
||||||
STARTBIT_LENGTH,
|
|
||||||
BAD_CONTROLLER_PARITY,
|
|
||||||
BAD_PERIPHERAL_PARITY,
|
|
||||||
BAD_CONTROL_PARITY,
|
|
||||||
BAD_LENGTH_PARITY,
|
|
||||||
BAD_LENGTH_RANGE,
|
|
||||||
BAD_DATA_PARITY
|
|
||||||
} errno_t;
|
|
||||||
struct errtype {
|
struct errtype {
|
||||||
errno_t errno;
|
enum : uint8_t {
|
||||||
|
STARTBIT_TIMEOUT = 0x01,
|
||||||
|
STARTBIT_LENGTH,
|
||||||
|
BAD_CONTROLLER_PARITY,
|
||||||
|
BAD_PERIPHERAL_PARITY,
|
||||||
|
BAD_CONTROL_PARITY,
|
||||||
|
BAD_LENGTH_PARITY,
|
||||||
|
BAD_LENGTH_RANGE,
|
||||||
|
BAD_DATA_PARITY
|
||||||
|
} errno;
|
||||||
union {
|
union {
|
||||||
uint8_t val; // BAD_LENGTH_RANGE: the out-of-range length value
|
uint8_t val; // BAD_LENGTH_RANGE: the out-of-range length value
|
||||||
struct {
|
struct {
|
||||||
@@ -729,20 +728,19 @@ uint8_t AVCLAN_readframe() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint8_t AVCLAN_sendframe(const AVCLAN_frame_t *frame) {
|
uint8_t AVCLAN_sendframe(const AVCLAN_frame_t *frame) {
|
||||||
typedef enum : uint8_t {
|
|
||||||
MUTED = 0x01,
|
|
||||||
BUSY,
|
|
||||||
NAK_ADDRESS = 0x10,
|
|
||||||
NAK_CONTROL,
|
|
||||||
NAK_MESSAGE_LENGTH,
|
|
||||||
NAK_DATA
|
|
||||||
} errno_t;
|
|
||||||
struct errtype {
|
struct errtype {
|
||||||
errno_t errno;
|
enum : uint8_t {
|
||||||
|
MUTED = 0x01,
|
||||||
|
BUSY,
|
||||||
|
NAK_ADDRESS = 0x10,
|
||||||
|
NAK_CONTROL,
|
||||||
|
NAK_MESSAGE_LENGTH,
|
||||||
|
NAK_DATA
|
||||||
|
} errno;
|
||||||
uint8_t val;
|
uint8_t val;
|
||||||
} err = {0};
|
} err = {0};
|
||||||
|
|
||||||
if (err.errno = AVCLAN_ismuted())
|
if ((err.errno = AVCLAN_ismuted()))
|
||||||
goto handle_err;
|
goto handle_err;
|
||||||
|
|
||||||
stopEvent();
|
stopEvent();
|
||||||
@@ -829,9 +827,13 @@ uint8_t AVCLAN_sendframe(const AVCLAN_frame_t *frame) {
|
|||||||
switch (err.errno) {
|
switch (err.errno) {
|
||||||
case MUTED: break;
|
case MUTED: break;
|
||||||
case BUSY: RS232_Print(": Busy bus\n"); break;
|
case BUSY: RS232_Print(": Busy bus\n"); break;
|
||||||
default:
|
case NAK_ADDRESS:
|
||||||
|
case NAK_CONTROL:
|
||||||
|
case NAK_MESSAGE_LENGTH:
|
||||||
|
case NAK_DATA:
|
||||||
RS232_Print("NAK: ");
|
RS232_Print("NAK: ");
|
||||||
switch (err.errno) {
|
switch (err.errno) {
|
||||||
|
case NAK_ADDRESS: RS232_Print("address\n"); break;
|
||||||
case NAK_CONTROL: RS232_Print("Control\n"); break;
|
case NAK_CONTROL: RS232_Print("Control\n"); break;
|
||||||
case NAK_MESSAGE_LENGTH: RS232_Print("Message length\n"); break;
|
case NAK_MESSAGE_LENGTH: RS232_Print("Message length\n"); break;
|
||||||
case NAK_DATA:
|
case NAK_DATA:
|
||||||
@@ -839,8 +841,12 @@ uint8_t AVCLAN_sendframe(const AVCLAN_frame_t *frame) {
|
|||||||
RS232_PrintDec(err.val);
|
RS232_PrintDec(err.val);
|
||||||
RS232_Print("]\n");
|
RS232_Print("]\n");
|
||||||
break;
|
break;
|
||||||
|
case MUTED: __builtin_unreachable();
|
||||||
|
case BUSY: __builtin_unreachable();
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
startEvent();
|
startEvent();
|
||||||
@@ -1000,6 +1006,7 @@ uint8_t AVCLAN_handleframe(const AVCLAN_frame_t *frame) {
|
|||||||
resp->data = (uint8_t *)&function_change_resp;
|
resp->data = (uint8_t *)&function_change_resp;
|
||||||
respond = 1;
|
respond = 1;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1026,14 +1033,14 @@ uint8_t AVCLAN_handleframe(const AVCLAN_frame_t *frame) {
|
|||||||
goto CMD_SW_RESPONSE;
|
goto CMD_SW_RESPONSE;
|
||||||
case Track_Seek_Up:
|
case Track_Seek_Up:
|
||||||
cd_status.state = cd_SEEKING_TRACK;
|
cd_status.state = cd_SEEKING_TRACK;
|
||||||
*cd_Track++;
|
(*cd_Track)++;
|
||||||
*cd_Time_Min = 0xff;
|
*cd_Time_Min = 0xff;
|
||||||
*cd_Time_Sec = 0x7f;
|
*cd_Time_Sec = 0x7f;
|
||||||
cd_status.flags2 = 0xc0;
|
cd_status.flags2 = 0xc0;
|
||||||
goto CMD_SW_RESPONSE;
|
goto CMD_SW_RESPONSE;
|
||||||
case Track_Seek_Down:
|
case Track_Seek_Down:
|
||||||
cd_status.state = cd_SEEKING_TRACK;
|
cd_status.state = cd_SEEKING_TRACK;
|
||||||
*cd_Track--;
|
(*cd_Track)--;
|
||||||
*cd_Time_Min = 0xff;
|
*cd_Time_Min = 0xff;
|
||||||
*cd_Time_Sec = 0x7f;
|
*cd_Time_Sec = 0x7f;
|
||||||
cd_status.flags2 = 0xc0;
|
cd_status.flags2 = 0xc0;
|
||||||
@@ -1045,6 +1052,7 @@ uint8_t AVCLAN_handleframe(const AVCLAN_frame_t *frame) {
|
|||||||
resp->peripheral_addr = frame->controller_addr;
|
resp->peripheral_addr = frame->controller_addr;
|
||||||
respond = 1;
|
respond = 1;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -1076,6 +1084,7 @@ uint8_t AVCLAN_handleframe(const AVCLAN_frame_t *frame) {
|
|||||||
resp->peripheral_addr = frame->controller_addr;
|
resp->peripheral_addr = frame->controller_addr;
|
||||||
respond = 1;
|
respond = 1;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
+1
-1
@@ -36,7 +36,7 @@ uint8_t readBinary;
|
|||||||
uint8_t muteBus;
|
uint8_t muteBus;
|
||||||
uint8_t readkey;
|
uint8_t readkey;
|
||||||
|
|
||||||
const char const *offon[] = {"OFF", "ON"};
|
const char *const offon[] = {"OFF", "ON"};
|
||||||
|
|
||||||
void Setup();
|
void Setup();
|
||||||
void general_GPIO_init();
|
void general_GPIO_init();
|
||||||
|
|||||||
Reference in New Issue
Block a user