Files
TX/source/clamp.c
2025-08-26 16:10:47 -05:00

92 lines
1.4 KiB
C

#include "clamp.h"
#include "driver.h"
#include "ports.h"
#include "fgen.h"
#include "utils.h"
#include "System/system.h"
extern SYSTEM_DATA_t sys;
static FREQUENCY_t * setFrequency(ACCESSORY_t *accy, FREQUENCY_t *freq)
{
accy->setPower(accy, sys.driver->powerLevel);
return freq;
}
static int setPower(ACCESSORY_t *accy, PowerLevel_t power)
{
FREQUENCY_t *f = driver_getFrequency();
return 0;
}
static void _stateInit(ACCESSORY_t *accy)
{
FREQUENCY_t *freq = driver_getFrequency();
if (accy->initState)
{
accy->setFrequency = setFrequency;
accy->setPower = setPower;
accy->signalPath = SIGNAL_PATH_AMP;
accy->driveVoltage[LOW_FREQ] = V_27V;
accy->driveVoltage[HIGH_FREQ] = V_42V;
driver_setFrequency(freq);
driver_broadcastOn(true);
ACCY_setTimeout(accy, 500);
}
if (ACCY_timedOut(accy))
{
accy->state = PORT_STATE_RUNNING;
}
}
int clamp_service(ACCESSORY_t *accy)
{
switch (accy->state)
{
case PORT_STATE_INIT:
{
_stateInit(accy);
break;
}
case PORT_STATE_DEINIT:
{
if (accy->initState)
{
accy->stateTimer = sys.systemTime + 500;
}
if (sys.systemTime >= accy->stateTimer)
{
accy->state = PORT_STATE_STANDBY;
}
break;
}
case PORT_STATE_RUNNING:
{
if (accy->initState)
{
}
break;
}
default:
return -1;
}
return 0;
}