21#include "flex_diag_conf.h"
22#include "flex_errors.h"
304 uint8_t *
const RxData, uint16_t RxLength);
496int FLEX_GNSSFix(int32_t *
const Lat, int32_t *
const Lon, time_t *
const Time);
506 time_t *
const LastFixTime);
void FLEX_DelayMs(const uint32_t mSec)
void FLEX_Sleep(const uint32_t Sec)
void FLEX_DelayUs(const uint32_t uSec)
int FLEX_MessageReceiveHandlerModify(const FLEX_MessageReceiveHandler Handler, const FLEX_HandlerModifyAction Action)
void(* FLEX_MessageReceiveHandler)(uint8_t *const message, const int size)
Definition flex.h:576
FLEX_ExtDigitalIOWakeupModifyAction
External Digital I/O Wakeup Modify Actions.
Definition flex.h:234
int FLEX_ExtDigitalIOGet(const FLEX_DigitalIOPin PinNum)
FLEX_DigitalIOLevel
Digital I/O level Options.
Definition flex.h:213
FLEX_DigitalIOPin
Available Digital I/O Pins.
Definition flex.h:207
int FLEX_ExtDigitalIOWakeupModify(const FLEX_DigitalIOPin PinNum, const FLEX_ExtDigitalIOWakeupModifyAction Action)
void(* FLEX_IOWakeupHandler)(void)
Wakeup Handler Function Pointer Declaration.
Definition flex.h:251
int FLEX_ExtDigitalIOSet(const FLEX_DigitalIOPin PinNum, const FLEX_DigitalIOLevel Level)
int FLEX_ExtDigitalIOWakeupHandlerModify(const FLEX_IOWakeupHandler Handler, const FLEX_HandlerModifyAction Action)
@ FLEX_EXT_DIGITAL_IO_WAKEUP_DISABLE
Action to disable wakeup for an External Digital I/O pin.
Definition flex.h:236
@ FLEX_EXT_DIGITAL_IO_WAKEUP_ENABLE
Action to enable wakeup for an External Digital I/O pin.
Definition flex.h:235
@ FLEX_EXT_DIGITAL_IO_LOW
Digital I/O level Low.
Definition flex.h:214
@ FLEX_EXT_DIGITAL_IO_HIGH
Digital I/O level High.
Definition flex.h:215
@ FLEX_EXT_DIGITAL_IO_1
Digital I/O Pin 1.
Definition flex.h:208
@ FLEX_EXT_DIGITAL_IO_2
Digital I/O Pin 2.
Definition flex.h:209
int FLEX_ExtI2CRead(int Address, const uint8_t *const TxData, uint16_t TxLength, uint8_t *const RxData, uint16_t RxLength)
int FLEX_ExtI2CWrite(int Address, const uint8_t *const TxData, uint16_t TxLength)
FLEX_HandlerModifyAction
Handler Modify Actions.
Definition flex.h:195
@ FLEX_HANDLER_MODIFY_REMOVE
action to remove a handler
Definition flex.h:197
@ FLEX_HANDLER_MODIFY_ADD
action to add a handler
Definition flex.h:196
int FLEX_LEDBlueStateSet(const FLEX_LEDState LEDState)
FLEX_LEDState
LED States.
Definition flex.h:163
int FLEX_LEDGreenStateSet(const FLEX_LEDState LEDState)
@ FLEX_LED_ON
turn LED On
Definition flex.h:164
@ FLEX_LED_OFF
turn LED Off
Definition flex.h:165
const char * FLEX_ModuleIDGet(void)
const char * FLEX_RegistrationCodeGet(void)
int FLEX_IsOnExternalPower(bool *const IsOnExternalPower)
void FLEX_OnExternalPowerHandlerSet(const FLEX_OnExternalPowerHandler Handler)
void(* FLEX_OnExternalPowerHandler)(const bool *const IsOnExternalPower)
Definition flex.h:712
int FLEX_GetBatteryVoltage(int32_t *const VoltageMilliVolts)
int FLEX_PowerOutInit(const FLEX_PowerOut Voltage)
int FLEX_PowerOutDeinit(void)
FLEX_PowerOut
Power Output Voltage Options.
Definition flex.h:126
@ FLEX_POWER_OUT_12V
set output voltage to 12V
Definition flex.h:128
@ FLEX_POWER_OUT_5V
set output voltage to 5V
Definition flex.h:129
@ FLEX_POWER_OUT_24V
set output voltage to 24V
Definition flex.h:127
void(* FLEX_PCNTWakeupHandler)(void)
Wakeup Handler Function Pointer Declaration.
Definition flex.h:436
FLEX_PulseCounterOption
Pulse Counter Options, bit-wise, can be ORed.
Definition flex.h:409
uint64_t FLEX_PulseCounterGet(void)
void FLEX_PulseCounterDeinit(void)
De-initialise the pulse counter.
int FLEX_PulseCounterHandlerModify(const FLEX_PCNTWakeupHandler Handler, const FLEX_HandlerModifyAction Action)
int FLEX_PulseCounterInit(const uint32_t Limit, const uint32_t Options)
@ FLEX_PCNT_DEFAULT_OPTIONS
default option, counts on rising edge
Definition flex.h:410
@ FLEX_PCNT_EDGE_FALLING
count on falling edge, default rising edge
Definition flex.h:411
@ __attribute__
Definition flex.h:415
@ FLEX_PCNT_DEBOUNCE_DISABLE
disable hardware debouncing, default enabled for about 160us
Definition flex.h:412
FLEX_SerialParity
Serial Interface - Parity Options.
Definition flex.h:326
int FLEX_SerialRead(uint8_t *Rx, size_t Length)
int FLEX_SerialInit(FLEX_SerialProtocol Protocol, uint32_t BaudRate)
int FLEX_SerialInitEx(const FLEX_SerialExOptions Options)
FLEX_SerialDatabits
Serial Interface - Databits Options.
Definition flex.h:333
FLEX_SerialProtocol
Serial Interface - Protocol Options.
Definition flex.h:320
int FLEX_SerialWrite(const uint8_t *Tx, size_t Length)
int FLEX_SerialDeinit(void)
FLEX_SerialStopbits
Serial Interface - Stopbits Options.
Definition flex.h:339
@ FLEX_SERIAL_PARITY_NONE
No parity for serial device.
Definition flex.h:327
@ FLEX_SERIAL_PARITY_EVEN
Even parity for serial device.
Definition flex.h:328
@ FLEX_SERIAL_PARITY_ODD
Odd parity for serial device.
Definition flex.h:329
@ FLEX_SERIAL_DATABITS_NINE
Nine databits for serial device.
Definition flex.h:335
@ FLEX_SERIAL_DATABITS_EIGHT
Eight databits for serial device.
Definition flex.h:334
@ FLEX_SERIAL_PROTOCOL_RS485
use RS-485 as the Serial Protocol
Definition flex.h:321
@ FLEX_SERIAL_PROTOCOL_RS232
use RS-232 as the Serial Protocol
Definition flex.h:322
@ FLEX_SERIAL_STOPBITS_TWO
2 stopbits for serial device
Definition flex.h:343
@ FLEX_SERIAL_STOPBITS_HALF
0.5 stopbits for serial device
Definition flex.h:341
@ FLEX_SERIAL_STOPBITS_ONEANDHALF
1.5 stopbits for serial device
Definition flex.h:342
@ FLEX_SERIAL_STOPBITS_ONE
1 stopbits for serial device
Definition flex.h:340
uint32_t FLEX_TickGet(void)
int FLEX_TemperatureGet(float *const Temperature)
time_t FLEX_MinutesFromNow(const unsigned Mins)
time_t(* FLEX_ScheduledJob)(void)
Definition flex.h:595
time_t FLEX_SecondsFromNow(const unsigned Secs)
time_t FLEX_HoursFromNow(const unsigned Hours)
int FLEX_JobSchedule(const FLEX_ScheduledJob Job, const time_t Time)
time_t FLEX_DaysFromNow(const unsigned Days)
bool FLEX_GNSSHasValidFix(void)
Returns true if the system has obtained a valid time and location fix.
void FLEX_LastLocationAndLastFixTime(int32_t *const LastLatitude, int32_t *const LastLongitude, time_t *const LastFixTime)
time_t FLEX_TimeGet(void)
Get the current epoch time.
int FLEX_GNSSFix(int32_t *const Lat, int32_t *const Lon, time_t *const Time)
size_t FLEX_MessageBytesFree(void)
FLEX_MessageTransmitStatus
Message transmission status.
Definition flex.h:518
int FLEX_MessageSchedule(const uint8_t *const Message, const size_t MessageSize)
int FLEX_MessageSlotsFree(void)
int FLEX_MessageQueueDelete(const uint16_t MessageID)
int FLEX_MessageQueueStatus(FLEX_MessageStatus *Status, const int StatusCount)
void FLEX_MessageQueueClear(void)
Clear all messages in the message queue.
int FLEX_MessageSlotsMax(void)
void FLEX_MessageSave(void)
@ FLEX_MSG_TRANSMIT_ONGOING
Message is currently being transmitted.
Definition flex.h:520
@ FLEX_MSG_TRANSMIT_PENDING
Message not yet transmitted.
Definition flex.h:519
@ FLEX_MSG_TRANSMIT_EXPIRED
Message expired before completion.
Definition flex.h:522
@ FLEX_MSG_TRANSMIT_COMPLETE
Message fully transmitted.
Definition flex.h:521
uint16_t FLEX_VersionPatch(void)
const char * FLEX_VersionString(void)
uint16_t FLEX_VersionMinor(void)
uint16_t FLEX_VersionMajor(void)
const char * FLEX_AppVersionString(void)
Status information for a message in the uplink queue.
Definition flex.h:526
uint16_t id
id returned by FLEX_MessageSchedule API
Definition flex.h:527
FLEX_MessageTransmitStatus status
status of the message
Definition flex.h:528
Serial Interface - Serial Extended Configuration Options.
Definition flex.h:347
FLEX_SerialProtocol protocol
Protocol for serial communication.
Definition flex.h:348
FLEX_SerialParity parity
Parity for serial communication.
Definition flex.h:350
uint32_t baud_rate
Baud rate for serial communication.
Definition flex.h:349
FLEX_SerialStopbits stopbits
Stopbits for serial communication.
Definition flex.h:352
FLEX_SerialDatabits databits
Databits for serial communication.
Definition flex.h:351