123
Fork of LG by
Diff: Device.h
- Revision:
- 161:efd949e8d536
- Parent:
- 156:e68ee0bcdcda
- Child:
- 166:c3c0b8a90d81
--- a/Device.h Fri May 13 14:04:22 2016 +0000 +++ b/Device.h Sun May 15 19:12:12 2016 +0000 @@ -9,16 +9,12 @@ #include "LPC17xx.h" #include "system_LPC17xx.h" #include "DeviceController.h" -#include "DeviceSettings.h" #include "DeviceDAC.h" -#include "DeviceProtocol.h" -//#include "DeviceTimers.h" -//#include "DeviceServicePort.h" -//#include "DeviceHostPort.h" +#include "DeviceUserProtocol.h" #include "DeviceCounters.h" +#include "DeviceDither.h" #include "DeviceLightUp.h" -#include "DevicePhotoDetector.h" -#include "DeviceDither.h" +#include "DeviceISACS.h" #include "DevicePLCS.h" typedef enum _DeviceLatchMode { @@ -43,83 +39,73 @@ typedef enum _DeviceCountingSource { DeviceCountingSourceReference, //Accumulate pulses using reference +/- counters as source - DeviceCountingSourceDither, //Accumulate pulses using dither counters as source + DeviceCountingSourceDither, //Accumulate pulses using dither counters as source } DeviceCountingSource; -typedef struct _DeviceHFOState { - uint8_t loop; //Output signal amplitude loop switch: 1 - on/0 - off -} DeviceHFOState; - -typedef struct _DeviceReceiverState { -} DeviceReceiverState; - -typedef struct _DeviceTransmitterState { - uint8_t position; //Output buffer transmission position -} DeviceTransmitterState; - -typedef struct _Host { - DeviceReceiverState receiver; - DeviceTransmitterState transmitter; - DeviceProtocolDecoder decoder; - DeviceProtocolEncoder encoder; - DeviceRequest request; - DeviceResponse response; -} Host; - +//Device service communication typedefs typedef struct _Service { char buffer[512]; - DeviceReceiverState receiver; - DeviceTransmitterState transmitter; + uint16_t position; //Transmission position } Service; +//Device measurement cycle typedefs typedef struct _DeviceMeasurementCycle { uint32_t length; //Measurement cycle length uint32_t counter; //Measurement cycle counter } DeviceMeasurementCycle; +//Device regular cycle typedefs typedef struct _DeviceRegularCycle { - uint32_t event1Hz; - uint32_t event500Hz; - uint32_t event1K; - uint32_t event10K; - uint32_t event100K; + volatile uint32_t event1Hz; + volatile uint32_t event500Hz; + volatile uint32_t event1K; + volatile uint32_t event10K; + volatile uint32_t event100K; - uint32_t time100K; - uint32_t time10K; - uint32_t time1K; - uint32_t time500Hz; - uint32_t time1Hz; + volatile uint32_t time100K; + volatile uint32_t time10K; + volatile uint32_t time1K; + volatile uint32_t time500Hz; + volatile uint32_t time1Hz; } DeviceRegularCycle; -typedef struct _DeviceDitherRegulator { - uint8_t oscillationFrequencyLoop; - uint8_t outputFrequencyLoop; -} DeviceDitherRegulator; +//Device sensor typedefs +typedef struct _DeviceSensorSettings { + //Device ID + uint16_t id; + //Block ID + uint16_t block; +} DeviceSensorSettings; +typedef struct _DeviceSensorState { +} DeviceSensorState; + +typedef struct _DeviceSensor { + DeviceSensorSettings settings; + DeviceSensorState state; +} DeviceSensor; + +//Device typedefs typedef struct _Device { - //Settings - DeviceSettings settings; //Measurement cycle DeviceMeasurementCycle measurement; //Control cycle DeviceRegularCycle regular; - //Controller - DeviceController controller; - //Peripherals - Host host; //Host communication asynchronous serial port - Service service; //Service communication asynchronous serial port - DeviceDAC dac; //DAC of hfo & plcs //Counting DeviceLatchState latch; DeviceCounters counters; + //Controller + DeviceController controller; + //Protocols + Service service; //Service communication protocol - asynchronous serial port 0 + DeviceUserProtocol user; //Host communication protocol - asynchronous serial port 1 //Units - DevicePhotoDetector detector; + DeviceSensor sensor; DeviceLightUp lightUp; DeviceDither dither; - DevicePathLengthControlSystem plcs; - //Regulators - DeviceHFOState hfo; - DeviceDitherRegulator ditherRegulator; + DeviceDAC dac; //2-channel DAC of isas & plcs + DeviceISACS isacs; //Information signal amplitude stabilizer + DevicePathLengthControlSystem plcs; //Path length control system } Device; typedef struct _HashParam { @@ -128,7 +114,7 @@ uint32_t size; } HashParam; -#define HASH_PARAM_COUNT 29 +#define HASH_PARAM_COUNT 153 typedef struct _HashFunc { uint32_t hash; @@ -144,6 +130,7 @@ void DeviceInitAllWithDefaults(void); void DeviceInitAll(void); +void InitHashParamTable(void); void DeviceRegularEvent1Hz(void); void DeviceRegularEvent500Hz(void);