lots of stuff
This commit is contained in:
92
source/clamp.c
Normal file
92
source/clamp.c
Normal file
@@ -0,0 +1,92 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user