lots of stuff

This commit is contained in:
2025-08-26 16:10:47 -05:00
parent 372e4941a2
commit bbc9d6ae91
27 changed files with 1193 additions and 147 deletions

View File

@@ -3,6 +3,8 @@
#include "fsl_gpio.h"
#include <stdbool.h>
#include "utils.h"
void io_expanderSet(uint8_t port, uint8_t pins, bool update);
void io_expanderClear(uint8_t port, uint8_t pins, bool update);
@@ -52,10 +54,11 @@ void io_update(void);
#define BOT_SR 2
#define TAPS_OFF_MASK 0b11100111
#define OUT_RELAY_OFF_MASK 0b11100111
// Bottom Shift Register (U35)
#define AMP_AB_SW 0b00000001
#define AMP_D_ON 0b00000010
#define AMP_D_ON_ 0b00000010
#define AMP_PSU 0b00000100
#define TAP_204_LF 0b00001000
#define TAP_102_LF 0b00010000
@@ -88,17 +91,28 @@ void io_update(void);
#define _TAP3_LF_ON (BOT_SR, TAP_204_LF)
#define _TAP4_LF_ON (BOT_SR, 0)
#define BYPASS_ON (MID_SR , LF_BYPASS)
#define BACKLIGHT_ON (BOT_SR, BKLITE_ON)
#define DISCONNECT_AB (TOP_SR, MUX_AB_AMP)
#define BROADCAST_AMP_EN (MID_SR, ANT_AMP_EN)
#define BROADCAST_AMP_PWR (TOP_SR, ANT_AMP_SW)
#define TAPS_OFF (BOT_SR, (uint8_t)~TAPS_OFF_MASK)
#define OUT_RELAY_OFF (MID_SR, (uint8_t)~OUT_RELAY_OFF_MASK)
#define BYPASS_ON (MID_SR, LF_BYPASS)
#define BACKLIGHT_ON (BOT_SR, BKLITE_ON)
#define DISCONNECT_AB (TOP_SR, MUX_AB_AMP)
#define BROADCAST_AMP_EN (MID_SR, ANT_AMP_EN)
#define BROADCAST_AMP_PWR (TOP_SR, ANT_AMP_SW)
#define AMP_D_EN (MID_SR, DAMP_EN)
#define AMP_AB_ON (BOT_SR, AMP_AB_SW)
#define AMP_D_EN (MID_SR, DAMP_EN)
#define AMP_D_ON (BOT_SR, AMP_D_ON_)
#define PORT1A_ON (MID_SR, SLCT_GRP)
#define PORT1B_ON (MID_SR, SLCT_GRP | SLCT_OUTPUT)
#define PORT2A_ON (MID_SR, 0)
#define PORT2B_ON (MID_SR, SLCT_OUTPUT)
#define _AMP_PSU_ON (BOT_SR, AMP_PSU)
#define SELECT_AB_AMP (BOT_SR, SLCT_AMP)
#define EXPANDER_SET(port_pins, update) io_expanderSet (_P1 port_pins, _P2 port_pins, update)
@@ -114,10 +128,15 @@ typedef struct
void io_expanderClearAll(bool update);
void io_backlightOn(bool on, bool update);
void io_ampDOn(bool on, bool update);
void io_ampDEnable(bool enable, bool update);
void io_ampABOn(bool on, bool update);
void io_broadcastOn(bool on, bool update);
void io_ampPsuOn(bool on, bool update);
void io_connectAmpAB(bool connect, bool update);
void io_expanderSetSafe(void);
void io_setOutputPort(AccessoryPortId_t port, AccyChannelId_t channel);
void io_selectAmpAB(bool update);
void io_selectAmpD(bool update);
void io_bypassProtection(bool bypass, bool update);
#endif