firmware: fix input numberingch5 was shorting all inputs

This commit is contained in:
2019-10-21 23:05:00 +02:00
parent 95f4f5dd71
commit d28508f7bf
2 changed files with 22 additions and 5 deletions

View File

@@ -17,12 +17,24 @@ void bd_write_reg(I2C_HandleTypeDef * handle, uint8_t reg, uint8_t data) {
HAL_I2C_Master_Transmit(handle, 0b10000010, out, sizeof(out), HAL_MAX_DELAY);
}
void bd_set_input(I2C_HandleTypeDef * handle, uint8_t number) {
if (number > 5) {
return;
}
bd_write_reg(handle, 0x04, number);
#define BD_INPUT_TABLE(a) \
a(0, 0) \
a(1, 1) \
a(2, 2) \
a(3, 3) \
a(4, 4) \
a(5, 6) \
a(BD_INPUT_ALL, 5) \
a(BD_INPUT_MUTE, 7)
void bd_set_input(I2C_HandleTypeDef * handle, uint8_t number) {
#define INPUT_CASE(num, out) case num: bd_write_reg(handle, 0x04, out); break;
switch(number) {
BD_INPUT_TABLE(INPUT_CASE)
}
#undef INPUT_CASE
}
#define BD_GAIN_TABLE(a) \