Callisto4Bootloader: ARK/platform_sampler_lpspi3_ad8688.h Source File

Callisto4Bootloader

platform_sampler_lpspi3_ad8688.h
Go to the documentation of this file.
1 /*
2 * platform_sampler_lspi3_ad8688.h
3 *
4 * Created on: 22 Jun 2020
5 * Author: Nick Pelling
6 */
7
8 #ifndef PLATFORM_SAMPLER_LPSPI3_AD8688_H_
9 #define PLATFORM_SAMPLER_LPSPI3_AD8688_H_
10
11 #include "platform-api.h"
12
13 // ARM errata 838869, affects Cortex-M4, Cortex-M4F. Store immediate overlapping
14 // exception return operation might vector to incorrect interrupt
15 #if defined __CORTEX_M && (__CORTEX_M == 4U)
16 #define ARM_errata_838869() __DSB()
17 #else
18 #define ARM_errata_838869() do { } while (0)
19 #endif
20
21 // --------------------------------------------------------------------------
22
23 #define NANOSECS_PER_SECOND (1000U * 1000U * 1000U)
24
25 #define NANOSECS_PER_HALFSECOND (NANOSECS_PER_SECOND / 2U)
26
27 #define CALCULATE_PERIOD(PERIODNSEC,PITFREQ) \
28 (uint32_t)( ((uint64_t) (PERIODNSEC)) * ((uint64_t) NANOSECS_PER_SECOND) \
29 / ((uint64_t) (PITFREQ)) );
30
31 // --------------------------------------------------------------------------
32
33 #define PIT_IRQ_ID PIT_IRQn
34
35 #define PIT_IRQ_PRIORITY 6U
36 #define GPT_IRQ_PRIORITY (9U)
37
38 /* Which clock is used by the PIT */
39 #define PIT_CLOCK_WHICH kCLOCK_IpgClk
40
41 /* Select IPG Clock as PERCLK_CLK clock source */
42 #define PIT_CLOCK_SOURCE_SELECT 0U
43
44 /* Get base frequency for PIT clock */
45 #define PIT_CLOCK_BASEFREQ() CLOCK_GetFreq( PIT_CLOCK_WHICH )
46
47 /* PIT clock divider ratio */
48 #define PIT_CLOCK_DIVIDER_RATIO 1U
49
50 /* Get source clock */
51 #define PIT_CLOCK(BASEFREQ) ((BASEFREQ) / PIT_CLOCK_DIVIDER_RATIO)
52
53 #define GPT_IRQ_ID GPT2_IRQn
54 #define SMV_GPT GPT2
55
56 /* Select IPG Clock as PERCLK_CLK clock source */
57 #define SMV_GPT_CLOCK_SOURCE_SELECT (0U)
58 /* Clock divider for PERCLK_CLK clock source */
59 #define SMV_GPT_CLOCK_DIVIDER_SELECT (0U)
60 /* Get source clock for GPT driver (GPT prescaler = 0) */
61 #define SMV_GPT_CLK_FREQ (CLOCK_GetFreq(kCLOCK_IpgClk) / (SMV_GPT_CLOCK_DIVIDER_SELECT + 1U))
62
63 // --------------------------------------------------------------------------
64
65 #define ADS8688_LPSPI_MASTER_IRQN LPSPI3_IRQn
66 // #define ADS8688_LPSPI_MASTER_IRQHandler pdTICKS_TO_MS //LX: It is not used anywhere
67
68 #define ADS8688_LPSPI_MASTER_BASEADDR (LPSPI3)
69 #define TOTAL_RANGE_SELECT_REGISTER 8
70
71 // Note: CS is the control signal used to trigger a conversion on the falling edge
72 #define ADS8688_CS_GPIO GPIO1
73 #define ADS8688_CS_GPIO_PIN (28U)
74 #define CS_LOW() GPIO_PinWrite(ADS8688_CS_GPIO, ADS8688_CS_GPIO_PIN, 0U)
75 #define CS_HIGH() GPIO_PinWrite(ADS8688_CS_GPIO, ADS8688_CS_GPIO_PIN, 1U)
76
77 // This is used as the LPSPI3's VIC interrupt priority level
78 #define LPSPI3_PRIORITY (8U)
79
80 #define LPSPI3_MASTER_PCS_FOR_INIT (kLPSPI_Pcs0)
81 #define LPSPI3_MASTER_PCS_FOR_TRANSFER (kLPSPI_MasterPcs0)
82
83 // Note: ADS8688 maximum serial rate = 17MHz
84 #define LPSPI3_TRANSFER_BAUDRATE (16U * 1000000U)
85
86 /* Select USB1 PLL PFD0 (720 MHz) as lpspi clock source */
87 #define LPSPI3_CLOCK_SOURCE_SELECT (1U)
88
89 /* Clock divider value (subtract one to get the divider register value) */
90 #define LPSPI3_CLOCK_SOURCE_DIVIDER (7U)
91
92 /* LPSPI3 clock frequency = (720MHz / 8) = 90MHz (currently) */
93 /* NickP: I would have expected 720MHz / 45 = 16.000MHz here */
94 /* Similarly 720MHz / 44 = 16.364MHz */
95 /* And 720MHz / 43 = 16.744MHz */
96 #define LPSPI3_MASTER_CLK_FREQ(CLOCK) (CLOCK / (LPSPI3_CLOCK_SOURCE_DIVIDER + 1U))
97
98 // Use this to reduce the RX watermark on SPI transactions
99 // Set RX watermark to two to capture a pair of transmitted sample bytes
100
101 #define VLAN_TAG_ENABLED 0
102 #define ADS8688_SAMPLE 1
103 #define VOLTAGE_SAMPLE 1
104
105 #define MAX_INT15 32768
106 #define MAX_INT31 0x7FFFFFFF // 2^31
107
108 #define MAX_SAMPLE_DATA 4
109 #define MAX_SAMPLE_ADD_1 (MAX_SAMPLE_DATA + 1)
110 #define MAX_SAMPLE_CHANNELS 8 // maximum number of channels
111 #define MAX_SAMPLE_CHANNELS_1 (MAX_SAMPLE_CHANNELS - 1) // maximum number of channels
112
113
114 #define MAX_TX_BUFFER 20
115
116 #define NPC 80 // number of points per cycle in digitised waveform
117 #define NPC_1 NPC - 1
118 #define HALF_NPC (NPC/2)
119 #define HALF_NPC_1 HALF_NPC - 1
120 #define ONE_HALF_NPC (3*NPC/2)
121 #define ONE_HALF_NPC_1 ONE_HALF_NPC - 1
122 #define DOUBLE_NPC (2 * NPC)
123 #define DOUBLE_NPC_1 (DOUBLE_NPC - 1)
124
125 #define TOT_PPC (HALF_NPC * MAX_SAMPLE_CHANNELS)
126 #define DOUBLE_TOT_PPC (2*TOT_PPC)
127 #define TRIPLE_TOT_PPC (3*TOT_PPC)
128 #define TOT_RAW_DATA (4*TOT_PPC)
129
130 #define MAX_REC_SV 8
131
132 #define MAX_FRAME_LENGTH 256
133 #define MAX_SV_LENGTH 252
134
135 #define ETHER_HEAD 0x8100
136 #define ETHER_SV_DATA 0x88BA
137 #define APP_ID 0x4000 // in the range between 0x4000 and 0x7ff
138
139 #define ETHER_PRIORITY 4
140 #define ETHER_VID 0x000
141 #define ETHER_CFI 0
142
143 #define SV_LENGTH 108 // 94 * 8 + 17
144 #define PDU_LENGTH 98
145 #define NO_ASDU_LENGTH 1
146 #define SEQ_LENGTH 93
147 #define ASDU_LENGTH 91
148 #define SMP_CNT_LENGTH 2
149 #define CONF_REF_LENGTH 4
150 #define SMP_SYNCH_LENGTH 1
151 #define SMP_DATA_LENGTH 64
152 #define MAX_SVID_LENGTH 10
153
154 #define IMPLICIT_PDU_0 0x60
155 #define IMPLICIT_INT_0 0x80
156 #define IMPLICIT_SEQ_2 0xA2
157 #define SEQUENCE 0x30
158 #define IMPLICIT_STRING_0 0x80
159 #define IMPLICIT_INT_2 0x82
160 #define IMPLICIT_INT_3 0x83
161 #define IMPLICIT_INT_5 0x85
162 #define IMPLICIT_DATA_7 0x87
163
164 #define ASDU_NUMBER 1
165
166 // Definition for receiving sample data
167 #define DEST_MAC_ERR 1 // Received destination MAC address error
168 #define ETHER_TYPE_ERR 2 // Received Ethernet type error
169 #define SV_ID_ERR 3 // Received SV ID error
170
171 // Data structure for configuration of sampled data
172 struct SV_CONFIG
173 {
174 uint8_t SvEna; // indicate whether SV is enabled or not
175 uint8_t mac_address[6]; // MAC address of the SMV
176 int8_t ct_chn[4]; // channel number of current sample point for each phase
177 int8_t vt_chn[4]; // channel number of voltage sample point for each phase
178 uint8_t MsvID[MAX_SVID_LENGTH]; // SV ID
179 };
180
181
182 struct PROCESS_BUS_CONFIG
183 {
184 uint8_t sample_opt; // sample option: 1 for 256 sample, 0 for 80 sample
185 uint16_t SmpRate; // sample rate
186 uint16_t app_Id; // APP_ID
187 uint32_t Reserved; // Reserved1 & Reserved2 for security
188 uint32_t ConfRev; // count of configuration changes
189
190 struct SV_CONFIG rx_sv_config;
191 struct SV_CONFIG tx_sv_config;
192 };
193
194
195
196 // Buffer for storing SV package for transmission
197 struct sv_transmit_buffer {
198 uint8_t destMac[6]; // Multicast destination address
199 uint8_t sourceMac[6]; // Source MAC Address
200 // uint8_t etherType0; // Ether head; 0x8100
201 // uint8_t etherType1; // Ether head; 0x8100
202 // uint8_t etherInfo0; // Information
203 // uint8_t etherInfo1; // Information
204 uint8_t etherSvData0; // Ether type; 0x88BA
205 uint8_t etherSvData1; // Ether type; 0x88BA
206 uint8_t appID0; // APPID
207 uint8_t appID1; // APPID
208 uint8_t svLength0; // SV length
209 uint8_t svLength1; // SV length
210 uint8_t reserved0; // Reserved1 & Reserved2 for security
211 uint8_t reserved1; // Reserved1 & Reserved2 for security
212 uint8_t reserved2; // Reserved1 & Reserved2 for security
213 uint8_t reserved3; // Reserved1 & Reserved2 for security
214 uint8_t imlicitPdu0; // implicit PDU[0]
215 uint8_t pduLength; // PDU length
216 uint8_t imlicitInt0; // implicit Int[0]
217 uint8_t noAsduLength; // Length of ASDU number
218 uint8_t asduNumber; // ASDU number
219 uint8_t imlicitSeq2; // implicit Seq[2]
220 uint8_t seqLength; // seq length
221 uint8_t sequence; // sequence
222 uint8_t asduLength; // ASDU length
223 uint8_t imlicitString0; // implicit String[0]
224 uint8_t svidLength; // Number of SVID
225 uint8_t svID[MAX_SVID_LENGTH]; // SV ID
226 uint8_t imlicitInt2; // implicit Int[2]
227 uint8_t smpCntLength; // Sample counter length
228 uint8_t smpCnt0; // Sample counter
229 uint8_t smpCnt1; // Sample counter
230 uint8_t imlicitInt3; // implicit Int[3]
231 uint8_t ConfRefLength; // Configure reference length
232 uint8_t ConfRef0; // Configure reference
233 uint8_t ConfRef1; // Configure reference
234 uint8_t ConfRef2; // Configure reference
235 uint8_t ConfRef3; // Configure reference
236 uint8_t imlicitInt5; // implicit Int[5]
237 uint8_t smpSynchLength; // Sample synchronisation length
238 uint8_t smpSynch; // Sample synchronisation
239 uint8_t imlicitData7; // implicit Data[7]
240 uint8_t smpDataLength; // Sample synchronisation length
241 uint8_t sampleData[SMP_DATA_LENGTH]; // sample data
242 };
243
244 // Buffer for storing SV package for receiving
245 struct sv_receive_buffer {
246 uint8_t destMac[6]; // Multicast destination address
247 uint8_t sourceMac[6]; // Source MAC Address
248
249 #if VLAN_TAG_ENABLED
250 uint8_t etherType0; // Ether head; 0x8100
251 uint8_t etherType1; // Ether head; 0x8100
252 uint8_t etherInfo0; // Information
253 uint8_t etherInfo1; // Information
254 #endif
255 uint8_t etherSvData0; // Ether type; 0x88BA
256 uint8_t etherSvData1; // Ether type; 0x88BA
257 uint8_t appID0; // APPID
258 uint8_t appID1; // APPID
259 uint8_t svLength0; // SV length
260 uint8_t svLength1; // SV length
261 uint8_t reserved0; // Reserved1 & Reserved2 for security
262 uint8_t reserved1; // Reserved1 & Reserved2 for security
263 uint8_t reserved2; // Reserved1 & Reserved2 for security
264 uint8_t reserved3; // Reserved1 & Reserved2 for security
265 uint8_t imlicitPdu0; // implicit PDU[0]
266 uint8_t pduLength; // PDU length
267 uint8_t imlicitInt0; // implicit Int[0]
268 uint8_t noAsduLength; // Length of ASDU number
269 uint8_t asduNumber; // ASDU number
270 uint8_t imlicitSeq2; // implicit Seq[2]
271 uint8_t seqLength; // seq length
272 uint8_t sequence; // sequence
273 uint8_t asduLength; // ASDU length
274 uint8_t imlicitString0; // implicit String[0]
275 uint8_t svidLength; // Number of SVID
276 uint8_t svID[MAX_SVID_LENGTH]; // SV ID
277 uint8_t imlicitInt2; // implicit Int[2]
278 uint8_t smpCntLength; // Sample counter length
279 uint8_t smpCnt0; // Sample counter
280 uint8_t smpCnt1; // Sample counter
281 uint8_t imlicitInt3; // implicit Int[3]
282 uint8_t ConfRefLength; // Configure reference length
283 uint8_t ConfRef0; // Configure reference
284 uint8_t ConfRef1; // Configure reference
285 uint8_t ConfRef2; // Configure reference
286 uint8_t ConfRef3; // Configure reference
287 uint8_t imlicitInt5; // implicit Int[5]
288 uint8_t smpSynchLength; // Sample synchronisation length
289 uint8_t smpSynch; // Sample synchronisation
290 uint8_t imlicitData7; // implicit Data[7]
291 uint8_t smpDataLength; // Sample synchronisation length
292 uint8_t sampleData[SMP_DATA_LENGTH]; // sample data
293 };
294
295 // Called from plugin side
296 //extern bool Process_ac_Start( uint32_t tickTime );
297
298 // FIXME: NickP: this call is in the wrong place, but need to get this working
299 void config_process_bus(void);
300
301 // ADS8688 Sampler API
302 extern bool Sampler_ADS8688_InitHardware(void);
303 extern bool Sampler_ADS8688_Setup( const ePLATFORM_SamplerConfig_t *paeSamplerConfig,
304 uint32_t uiNumChannels,
305 volatile stPLATFORM_SampleGrab_t * pastCircularBuffer,
306 uint32_t uiBufferElements );
307 extern bool Sampler_ADS8688_Start(uint32_t uiPeriod_Nsec);
308 extern bool Sampler_ADS8688_Adjust(uint32_t uiDelay_Nsec, uint32_t uiPeriod_Nsec);
309 extern bool Sampler_ADS8688_Stop(void);
310 extern uint32_t Sampler_ADS8688_GetTimer(void);
311 extern uint32_t Sampler_ADS8688_Grab( uint32_t uiEarliestTimer,
312 volatile stPLATFORM_SampleGrab_t ** papstGrabArray,
313 uint32_t uiMaxSamplesToGrab);
314
315 #endif /* PLATFORM_SAMPLER_LPSPI3_AD8688_H_ */
sv_receive_buffer::smpSynch
uint8_t smpSynch
Definition: platform_sampler_lpspi3_ad8688.h:289
sv_transmit_buffer::sourceMac
uint8_t sourceMac[6]
Definition: platform_sampler_lpspi3_ad8688.h:199
sv_transmit_buffer::ConfRef3
uint8_t ConfRef3
Definition: platform_sampler_lpspi3_ad8688.h:235
sv_transmit_buffer::sequence
uint8_t sequence
Definition: platform_sampler_lpspi3_ad8688.h:221
Sampler_ADS8688_Setup
bool Sampler_ADS8688_Setup(const ePLATFORM_SamplerConfig_t *paeSamplerConfig, uint32_t uiNumChannels, volatile stPLATFORM_SampleGrab_t *pastCircularBuffer, uint32_t uiBufferElements)
Definition: platform_sampler_lpspi3_ad8688.c:117
sv_receive_buffer::imlicitString0
uint8_t imlicitString0
Definition: platform_sampler_lpspi3_ad8688.h:274
sv_receive_buffer::sequence
uint8_t sequence
Definition: platform_sampler_lpspi3_ad8688.h:272
sv_receive_buffer::imlicitInt0
uint8_t imlicitInt0
Definition: platform_sampler_lpspi3_ad8688.h:267
sv_transmit_buffer::smpDataLength
uint8_t smpDataLength
Definition: platform_sampler_lpspi3_ad8688.h:240
sv_receive_buffer::imlicitPdu0
uint8_t imlicitPdu0
Definition: platform_sampler_lpspi3_ad8688.h:265
sv_transmit_buffer::seqLength
uint8_t seqLength
Definition: platform_sampler_lpspi3_ad8688.h:220
sv_receive_buffer
Definition: platform_sampler_lpspi3_ad8688.h:245
sv_transmit_buffer::ConfRef2
uint8_t ConfRef2
Definition: platform_sampler_lpspi3_ad8688.h:234
SV_CONFIG::SvEna
uint8_t SvEna
Definition: platform_sampler_lpspi3_ad8688.h:174
sv_transmit_buffer::asduNumber
uint8_t asduNumber
Definition: platform_sampler_lpspi3_ad8688.h:218
Sampler_ADS8688_GetTimer
uint32_t Sampler_ADS8688_GetTimer(void)
Definition: platform_sampler_lpspi3_ad8688.c:150
sv_transmit_buffer::imlicitData7
uint8_t imlicitData7
Definition: platform_sampler_lpspi3_ad8688.h:239
sv_receive_buffer::destMac
uint8_t destMac[6]
Definition: platform_sampler_lpspi3_ad8688.h:246
MAX_SVID_LENGTH
#define MAX_SVID_LENGTH
Definition: platform_sampler_lpspi3_ad8688.h:152
config_process_bus
void config_process_bus(void)
Definition: platform_sampler_lpspi3_ad8688.c:1275
PROCESS_BUS_CONFIG::app_Id
uint16_t app_Id
Definition: platform_sampler_lpspi3_ad8688.h:186
PROCESS_BUS_CONFIG::Reserved
uint32_t Reserved
Definition: platform_sampler_lpspi3_ad8688.h:187
sv_transmit_buffer::destMac
uint8_t destMac[6]
Definition: platform_sampler_lpspi3_ad8688.h:198
sv_transmit_buffer::imlicitInt5
uint8_t imlicitInt5
Definition: platform_sampler_lpspi3_ad8688.h:236
Sampler_ADS8688_Start
bool Sampler_ADS8688_Start(uint32_t uiPeriod_Nsec)
Definition: platform_sampler_lpspi3_ad8688.c:130
sv_transmit_buffer::svLength1
uint8_t svLength1
Definition: platform_sampler_lpspi3_ad8688.h:209
sv_receive_buffer::smpSynchLength
uint8_t smpSynchLength
Definition: platform_sampler_lpspi3_ad8688.h:288
sv_receive_buffer::etherSvData1
uint8_t etherSvData1
Definition: platform_sampler_lpspi3_ad8688.h:256
sv_transmit_buffer::reserved0
uint8_t reserved0
Definition: platform_sampler_lpspi3_ad8688.h:210
sv_receive_buffer::noAsduLength
uint8_t noAsduLength
Definition: platform_sampler_lpspi3_ad8688.h:268
sv_receive_buffer::asduNumber
uint8_t asduNumber
Definition: platform_sampler_lpspi3_ad8688.h:269
sv_transmit_buffer::smpCntLength
uint8_t smpCntLength
Definition: platform_sampler_lpspi3_ad8688.h:227
sv_transmit_buffer::reserved3
uint8_t reserved3
Definition: platform_sampler_lpspi3_ad8688.h:213
sv_transmit_buffer::svLength0
uint8_t svLength0
Definition: platform_sampler_lpspi3_ad8688.h:208
Sampler_ADS8688_Adjust
bool Sampler_ADS8688_Adjust(uint32_t uiDelay_Nsec, uint32_t uiPeriod_Nsec)
Definition: platform_sampler_lpspi3_ad8688.c:137
SMP_DATA_LENGTH
#define SMP_DATA_LENGTH
Definition: platform_sampler_lpspi3_ad8688.h:151
sv_transmit_buffer::svID
uint8_t svID[MAX_SVID_LENGTH]
Definition: platform_sampler_lpspi3_ad8688.h:225
SV_CONFIG::vt_chn
int8_t vt_chn[4]
Definition: platform_sampler_lpspi3_ad8688.h:177
PROCESS_BUS_CONFIG
Definition: platform_sampler_lpspi3_ad8688.h:182
sv_receive_buffer::reserved0
uint8_t reserved0
Definition: platform_sampler_lpspi3_ad8688.h:261
SV_CONFIG::ct_chn
int8_t ct_chn[4]
Definition: platform_sampler_lpspi3_ad8688.h:176
sv_receive_buffer::seqLength
uint8_t seqLength
Definition: platform_sampler_lpspi3_ad8688.h:271
sv_receive_buffer::appID0
uint8_t appID0
Definition: platform_sampler_lpspi3_ad8688.h:257
sv_receive_buffer::svidLength
uint8_t svidLength
Definition: platform_sampler_lpspi3_ad8688.h:275
sv_receive_buffer::ConfRef0
uint8_t ConfRef0
Definition: platform_sampler_lpspi3_ad8688.h:283
sv_transmit_buffer::smpSynch
uint8_t smpSynch
Definition: platform_sampler_lpspi3_ad8688.h:238
sv_transmit_buffer::sampleData
uint8_t sampleData[SMP_DATA_LENGTH]
Definition: platform_sampler_lpspi3_ad8688.h:241
sv_transmit_buffer::appID1
uint8_t appID1
Definition: platform_sampler_lpspi3_ad8688.h:207
PROCESS_BUS_CONFIG::sample_opt
uint8_t sample_opt
Definition: platform_sampler_lpspi3_ad8688.h:184
sv_receive_buffer::svLength1
uint8_t svLength1
Definition: platform_sampler_lpspi3_ad8688.h:260
sv_receive_buffer::reserved3
uint8_t reserved3
Definition: platform_sampler_lpspi3_ad8688.h:264
sv_receive_buffer::smpCnt1
uint8_t smpCnt1
Definition: platform_sampler_lpspi3_ad8688.h:280
sv_transmit_buffer::etherSvData1
uint8_t etherSvData1
Definition: platform_sampler_lpspi3_ad8688.h:205
SV_CONFIG::MsvID
uint8_t MsvID[MAX_SVID_LENGTH]
Definition: platform_sampler_lpspi3_ad8688.h:178
sv_receive_buffer::imlicitInt3
uint8_t imlicitInt3
Definition: platform_sampler_lpspi3_ad8688.h:281
sv_transmit_buffer::imlicitInt3
uint8_t imlicitInt3
Definition: platform_sampler_lpspi3_ad8688.h:230
sv_receive_buffer::imlicitSeq2
uint8_t imlicitSeq2
Definition: platform_sampler_lpspi3_ad8688.h:270
sv_receive_buffer::ConfRefLength
uint8_t ConfRefLength
Definition: platform_sampler_lpspi3_ad8688.h:282
SV_CONFIG
Definition: platform_sampler_lpspi3_ad8688.h:172
sv_receive_buffer::reserved1
uint8_t reserved1
Definition: platform_sampler_lpspi3_ad8688.h:262
sv_receive_buffer::ConfRef1
uint8_t ConfRef1
Definition: platform_sampler_lpspi3_ad8688.h:284
sv_transmit_buffer::smpCnt1
uint8_t smpCnt1
Definition: platform_sampler_lpspi3_ad8688.h:229
sv_receive_buffer::sampleData
uint8_t sampleData[SMP_DATA_LENGTH]
Definition: platform_sampler_lpspi3_ad8688.h:292
sv_receive_buffer::svLength0
uint8_t svLength0
Definition: platform_sampler_lpspi3_ad8688.h:259
sv_transmit_buffer::etherSvData0
uint8_t etherSvData0
Definition: platform_sampler_lpspi3_ad8688.h:204
Sampler_ADS8688_Stop
bool Sampler_ADS8688_Stop(void)
Definition: platform_sampler_lpspi3_ad8688.c:145
sv_transmit_buffer::imlicitString0
uint8_t imlicitString0
Definition: platform_sampler_lpspi3_ad8688.h:223
sv_transmit_buffer::pduLength
uint8_t pduLength
Definition: platform_sampler_lpspi3_ad8688.h:215
sv_transmit_buffer::asduLength
uint8_t asduLength
Definition: platform_sampler_lpspi3_ad8688.h:222
sv_transmit_buffer::imlicitInt2
uint8_t imlicitInt2
Definition: platform_sampler_lpspi3_ad8688.h:226
sv_transmit_buffer::imlicitPdu0
uint8_t imlicitPdu0
Definition: platform_sampler_lpspi3_ad8688.h:214
sv_transmit_buffer::ConfRefLength
uint8_t ConfRefLength
Definition: platform_sampler_lpspi3_ad8688.h:231
sv_transmit_buffer::appID0
uint8_t appID0
Definition: platform_sampler_lpspi3_ad8688.h:206
sv_receive_buffer::ConfRef2
uint8_t ConfRef2
Definition: platform_sampler_lpspi3_ad8688.h:285
sv_receive_buffer::smpCntLength
uint8_t smpCntLength
Definition: platform_sampler_lpspi3_ad8688.h:278
PROCESS_BUS_CONFIG::SmpRate
uint16_t SmpRate
Definition: platform_sampler_lpspi3_ad8688.h:185
PROCESS_BUS_CONFIG::rx_sv_config
struct SV_CONFIG rx_sv_config
Definition: platform_sampler_lpspi3_ad8688.h:190
sv_receive_buffer::appID1
uint8_t appID1
Definition: platform_sampler_lpspi3_ad8688.h:258
sv_receive_buffer::imlicitData7
uint8_t imlicitData7
Definition: platform_sampler_lpspi3_ad8688.h:290
sv_receive_buffer::pduLength
uint8_t pduLength
Definition: platform_sampler_lpspi3_ad8688.h:266
sv_transmit_buffer::smpSynchLength
uint8_t smpSynchLength
Definition: platform_sampler_lpspi3_ad8688.h:237
sv_receive_buffer::etherSvData0
uint8_t etherSvData0
Definition: platform_sampler_lpspi3_ad8688.h:255
sv_receive_buffer::svID
uint8_t svID[MAX_SVID_LENGTH]
Definition: platform_sampler_lpspi3_ad8688.h:276
PROCESS_BUS_CONFIG::tx_sv_config
struct SV_CONFIG tx_sv_config
Definition: platform_sampler_lpspi3_ad8688.h:191
sv_transmit_buffer
Definition: platform_sampler_lpspi3_ad8688.h:197
sv_receive_buffer::asduLength
uint8_t asduLength
Definition: platform_sampler_lpspi3_ad8688.h:273
sv_receive_buffer::reserved2
uint8_t reserved2
Definition: platform_sampler_lpspi3_ad8688.h:263
sv_transmit_buffer::smpCnt0
uint8_t smpCnt0
Definition: platform_sampler_lpspi3_ad8688.h:228
sv_transmit_buffer::ConfRef0
uint8_t ConfRef0
Definition: platform_sampler_lpspi3_ad8688.h:232
sv_receive_buffer::ConfRef3
uint8_t ConfRef3
Definition: platform_sampler_lpspi3_ad8688.h:286
sv_transmit_buffer::noAsduLength
uint8_t noAsduLength
Definition: platform_sampler_lpspi3_ad8688.h:217
sv_transmit_buffer::ConfRef1
uint8_t ConfRef1
Definition: platform_sampler_lpspi3_ad8688.h:233
SV_CONFIG::mac_address
uint8_t mac_address[6]
Definition: platform_sampler_lpspi3_ad8688.h:175
Sampler_ADS8688_Grab
uint32_t Sampler_ADS8688_Grab(uint32_t uiEarliestTimer, volatile stPLATFORM_SampleGrab_t **papstGrabArray, uint32_t uiMaxSamplesToGrab)
Definition: platform_sampler_lpspi3_ad8688.c:155
sv_receive_buffer::sourceMac
uint8_t sourceMac[6]
Definition: platform_sampler_lpspi3_ad8688.h:247
sv_transmit_buffer::svidLength
uint8_t svidLength
Definition: platform_sampler_lpspi3_ad8688.h:224
sv_receive_buffer::imlicitInt2
uint8_t imlicitInt2
Definition: platform_sampler_lpspi3_ad8688.h:277
Sampler_ADS8688_InitHardware
bool Sampler_ADS8688_InitHardware(void)
Definition: platform_sampler_lpspi3_ad8688.c:100
sv_transmit_buffer::imlicitSeq2
uint8_t imlicitSeq2
Definition: platform_sampler_lpspi3_ad8688.h:219
sv_receive_buffer::smpDataLength
uint8_t smpDataLength
Definition: platform_sampler_lpspi3_ad8688.h:291
sv_transmit_buffer::reserved1
uint8_t reserved1
Definition: platform_sampler_lpspi3_ad8688.h:211
sv_transmit_buffer::reserved2
uint8_t reserved2
Definition: platform_sampler_lpspi3_ad8688.h:212
sv_receive_buffer::smpCnt0
uint8_t smpCnt0
Definition: platform_sampler_lpspi3_ad8688.h:279
PROCESS_BUS_CONFIG::ConfRev
uint32_t ConfRev
Definition: platform_sampler_lpspi3_ad8688.h:188
sv_receive_buffer::imlicitInt5
uint8_t imlicitInt5
Definition: platform_sampler_lpspi3_ad8688.h:287
sv_transmit_buffer::imlicitInt0
uint8_t imlicitInt0
Definition: platform_sampler_lpspi3_ad8688.h:216