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

@@ -5,6 +5,7 @@
#include <stdbool.h>
#include "fgen.h"
#include "ports.h"
#define MAIN_PSU_ENBL 0b00000100 // Active Low U13 D2
#define V_18V 0
@@ -17,26 +18,25 @@
#define V_42V 250
#define V_55V 255
#define MAX_AB_PSU V_24V //TODO
#define MAX_AB_VOLTAGE 32.0f
#define MAX_D_PSU V_36V
#define MAX_D_FREQ 44500
#define MAX_CLAMP_PSU 255
#define POWER_CHANGE_TIME 500 //m sec
typedef enum
{
POWER_LEVEL_0 = 0,
POWER_LEVEL_1,
POWER_LEVEL_2,
POWER_LEVEL_3,
POWER_LEVEL_4,
} PowerLevel_t;
typedef enum
{
DRIVER_STATE_INIT = 0,
DRIVER_STATE_WAIT_PSU,
DRIVER_STATE_SWITCH_AMP,
DRIVER_STATE_SWITCH_FREQUENCY,
DRIVER_STATE_RUNNING,
} DriverState_t;
typedef struct
@@ -54,8 +54,17 @@ typedef struct
uint32_t lastPowerChangeTime;
Amplifier_t amplifier;
SignalPath_t signalPath;
TransformerTap_t tap;
uint8_t amplitude;
fgen_t *fgen;
ACCESSORY_t *prevAccy;
} TxDriver_t;
bool driver_isLowFreq(void);
float driver_maxLoadCurrent(void);
TxDriver_t * driver_getDriver(void);
void driver_setPSUVoltage(uint8_t value);
void driver_setAmplitude(uint8_t value);
@@ -71,8 +80,16 @@ void driver_setPower(PowerLevel_t powerLevel);
FREQUENCY_t *driver_getFrequency(void);
void driver_setSafe(bool safe);
PowerLevel_t driver_getPowerLevel();
void driver_setSignalPath(SignalPath_t path);
uint8_t driver_getAmplitude(void);
TransformerTap_t driver_getTap(void);
Amplifier_t driver_getAmplifier(void);
bool driver_outputReady(void);
void driver_bypass(bool bypass);
void driver_powerUp(void);
void driver_powerDown(void);
#endif