10 #ifndef __BRP_BALTECH_SDK_CMDS_DHWCTRL_H__ 11 #define __BRP_BALTECH_SDK_CMDS_DHWCTRL_H__ 12 #include "../typedefs.h" 13 #ifdef BALTECH_SDK_INTERNAL 17 #define BRP_DHWCtrl_ErrInvalidIndex BRP_ERR_STATUS(0xE100, 0x01) 18 #endif // BALTECH_SDK_INTERNAL 19 #ifdef BALTECH_SDK_INTERNAL 23 #define BRP_DHWCtrl_ErrNotActive BRP_ERR_STATUS(0xE100, 0x02) 24 #endif // BALTECH_SDK_INTERNAL 25 #ifdef BALTECH_SDK_INTERNAL 29 #define BRP_DHWCtrl_ErrAlreadyActive BRP_ERR_STATUS(0xE100, 0x03) 30 #endif // BALTECH_SDK_INTERNAL 31 #ifdef BALTECH_SDK_INTERNAL 35 #define BRP_DHWCtrl_ErrInvalidParam BRP_ERR_STATUS(0xE100, 0x04) 36 #endif // BALTECH_SDK_INTERNAL 37 #ifdef BALTECH_SDK_INTERNAL 41 #define BRP_DHWCtrl_ErrTimeout BRP_ERR_STATUS(0xE100, 0x05) 42 #endif // BALTECH_SDK_INTERNAL 43 #ifdef BALTECH_SDK_INTERNAL 47 #define BRP_DHWCtrl_ErrEthFrameTooBig BRP_ERR_STATUS(0xE100, 0x10) 48 #endif // BALTECH_SDK_INTERNAL 49 #ifdef BALTECH_SDK_INTERNAL 53 #define BRP_DHWCtrl_ErrUsbNotConnected BRP_ERR_STATUS(0xE100, 0x20) 54 #endif // BALTECH_SDK_INTERNAL 55 #ifdef BALTECH_SDK_INTERNAL 59 #define BRP_DHWCtrl_ErrUsbStall BRP_ERR_STATUS(0xE100, 0x21) 60 #endif // BALTECH_SDK_INTERNAL 61 #ifdef BALTECH_SDK_INTERNAL 65 #define BRP_DHWCtrl_ErrUsbTransfer BRP_ERR_STATUS(0xE100, 0x22) 66 #endif // BALTECH_SDK_INTERNAL 67 #ifdef BALTECH_SDK_INTERNAL 71 #define BRP_DHWCtrl_ErrUsbBufferOverflow BRP_ERR_STATUS(0xE100, 0x23) 72 #endif // BALTECH_SDK_INTERNAL 73 #ifdef BALTECH_SDK_INTERNAL 77 #define BRP_DHWCtrl_ErrFlashRange BRP_ERR_STATUS(0xE100, 0x30) 78 #endif // BALTECH_SDK_INTERNAL 79 #ifdef BALTECH_SDK_INTERNAL 83 #define BRP_DHWCtrl_ErrFlashWrite BRP_ERR_STATUS(0xE100, 0x31) 84 #endif // BALTECH_SDK_INTERNAL 85 #ifdef BALTECH_SDK_INTERNAL 89 #define BRP_DHWCtrl_ErrFlashErase BRP_ERR_STATUS(0xE100, 0x32) 90 #endif // BALTECH_SDK_INTERNAL 91 #ifdef BALTECH_SDK_INTERNAL 95 #define BRP_DHWCtrl_ErrHardware BRP_ERR_STATUS(0xE100, 0xFF) 96 #endif // BALTECH_SDK_INTERNAL 97 #ifdef BALTECH_SDK_INTERNAL 101 brp_DHWCtrlPinset Pinset;
103 } brp_DHWCtrl_EthActivate_t;
113 #ifdef BRP_SUPPORT_LEGACY_METHODS 116 brp_errcode brp_DHWCtrl_EthActivate(brp_DHWCtrl_EthActivate_t params);
121 } brp_DHWCtrl_EthDeactivate_t;
129 #ifdef BRP_SUPPORT_LEGACY_METHODS 132 brp_errcode brp_DHWCtrl_EthDeactivate(brp_DHWCtrl_EthDeactivate_t params);
139 brp_DHWCtrlEtherType EtherType;
142 } brp_DHWCtrl_EthSendFrame_t;
155 #ifdef BRP_SUPPORT_LEGACY_METHODS 156 brp_errcode brp_DHWCtrl_EthSendFrame(
brp_protocol protocol,
unsigned _input_Index,
brp_buf _input_DstMac,
brp_buf _input_SrcMac, brp_DHWCtrlEtherType _input_EtherType,
brp_buf _input_Payload,
size_t _input_Payload_len);
158 brp_errcode brp_DHWCtrl_EthSendFrame(brp_DHWCtrl_EthSendFrame_t params);
164 unsigned* TimestampUs;
171 brp_DHWCtrlEtherType* EtherType;
175 } brp_DHWCtrl_EthRecvFrame_t;
195 #ifdef BRP_SUPPORT_LEGACY_METHODS 196 brp_errcode brp_DHWCtrl_EthRecvFrame(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_TimeoutMs,
unsigned* TimestampUs,
unsigned* Seq,
bool* RxOverflow,
bool* CrcError,
bool* Truncated,
brp_buf* DstMac,
brp_buf* SrcMac, brp_DHWCtrlEtherType* EtherType,
brp_buf* Payload,
size_t* Payload_len,
brp_mempool *mempool);
198 brp_errcode brp_DHWCtrl_EthRecvFrame(brp_DHWCtrl_EthRecvFrame_t params);
203 brp_DHWCtrlEthLinkState State;
205 } brp_DHWCtrl_EthWaitLinkState_t;
215 #ifdef BRP_SUPPORT_LEGACY_METHODS 216 brp_errcode brp_DHWCtrl_EthWaitLinkState(
brp_protocol protocol,
unsigned _input_Index, brp_DHWCtrlEthLinkState _input_State,
unsigned _input_TimeoutMs);
218 brp_errcode brp_DHWCtrl_EthWaitLinkState(brp_DHWCtrl_EthWaitLinkState_t params);
223 brp_DHWCtrl_EthGetCommMode_Speed* Speed;
224 brp_DHWCtrl_EthGetCommMode_Duplex* Duplex;
225 } brp_DHWCtrl_EthGetCommMode_t;
235 #ifdef BRP_SUPPORT_LEGACY_METHODS 236 brp_errcode brp_DHWCtrl_EthGetCommMode(
brp_protocol protocol,
unsigned _input_Index, brp_DHWCtrl_EthGetCommMode_Speed* Speed, brp_DHWCtrl_EthGetCommMode_Duplex* Duplex);
238 brp_errcode brp_DHWCtrl_EthGetCommMode(brp_DHWCtrl_EthGetCommMode_t params);
242 brp_DHWCtrlGpioPin Pin;
243 brp_DHWCtrl_GpioConfigure_Mode Mode;
244 } brp_DHWCtrl_GpioConfigure_t;
253 #ifdef BRP_SUPPORT_LEGACY_METHODS 254 brp_errcode brp_DHWCtrl_GpioConfigure(
brp_protocol protocol, brp_DHWCtrlGpioPin _input_Pin, brp_DHWCtrl_GpioConfigure_Mode _input_Mode);
256 brp_errcode brp_DHWCtrl_GpioConfigure(brp_DHWCtrl_GpioConfigure_t params);
260 brp_DHWCtrlGpioPin Pin;
261 brp_DHWCtrlGpioLevel Level;
262 } brp_DHWCtrl_GpioSetState_t;
271 #ifdef BRP_SUPPORT_LEGACY_METHODS 272 brp_errcode brp_DHWCtrl_GpioSetState(
brp_protocol protocol, brp_DHWCtrlGpioPin _input_Pin, brp_DHWCtrlGpioLevel _input_Level);
274 brp_errcode brp_DHWCtrl_GpioSetState(brp_DHWCtrl_GpioSetState_t params);
278 brp_DHWCtrlGpioPin Pin;
279 brp_DHWCtrlGpioLevel Level;
281 } brp_DHWCtrl_GpioWaitState_t;
291 #ifdef BRP_SUPPORT_LEGACY_METHODS 292 brp_errcode brp_DHWCtrl_GpioWaitState(
brp_protocol protocol, brp_DHWCtrlGpioPin _input_Pin, brp_DHWCtrlGpioLevel _input_Level,
unsigned _input_TimeoutMs);
294 brp_errcode brp_DHWCtrl_GpioWaitState(brp_DHWCtrl_GpioWaitState_t params);
299 brp_DHWCtrlPinset Pinset;
300 } brp_DHWCtrl_UsbHostActivate_t;
309 #ifdef BRP_SUPPORT_LEGACY_METHODS 310 brp_errcode brp_DHWCtrl_UsbHostActivate(
brp_protocol protocol,
unsigned _input_Index, brp_DHWCtrlPinset _input_Pinset);
312 brp_errcode brp_DHWCtrl_UsbHostActivate(brp_DHWCtrl_UsbHostActivate_t params);
317 } brp_DHWCtrl_UsbHostDeactivate_t;
325 #ifdef BRP_SUPPORT_LEGACY_METHODS 328 brp_errcode brp_DHWCtrl_UsbHostDeactivate(brp_DHWCtrl_UsbHostDeactivate_t params);
333 } brp_DHWCtrl_UsbHostBusReset_t;
341 #ifdef BRP_SUPPORT_LEGACY_METHODS 344 brp_errcode brp_DHWCtrl_UsbHostBusReset(brp_DHWCtrl_UsbHostBusReset_t params);
349 } brp_DHWCtrl_UsbHostBusSuspend_t;
357 #ifdef BRP_SUPPORT_LEGACY_METHODS 360 brp_errcode brp_DHWCtrl_UsbHostBusSuspend(brp_DHWCtrl_UsbHostBusSuspend_t params);
365 } brp_DHWCtrl_UsbHostBusResume_t;
373 #ifdef BRP_SUPPORT_LEGACY_METHODS 376 brp_errcode brp_DHWCtrl_UsbHostBusResume(brp_DHWCtrl_UsbHostBusResume_t params);
381 brp_DHWCtrlUsbPortState State;
383 brp_DHWCtrl_UsbHostWaitPortStatus_Speed* Speed;
384 } brp_DHWCtrl_UsbHostWaitPortStatus_t;
395 #ifdef BRP_SUPPORT_LEGACY_METHODS 396 brp_errcode brp_DHWCtrl_UsbHostWaitPortStatus(
brp_protocol protocol,
unsigned _input_Index, brp_DHWCtrlUsbPortState _input_State,
unsigned _input_TimeoutMs, brp_DHWCtrl_UsbHostWaitPortStatus_Speed* Speed);
398 brp_errcode brp_DHWCtrl_UsbHostWaitPortStatus(brp_DHWCtrl_UsbHostWaitPortStatus_t params);
411 } brp_DHWCtrl_UsbHostTransferCtrlIn_t;
427 #ifdef BRP_SUPPORT_LEGACY_METHODS 428 brp_errcode brp_DHWCtrl_UsbHostTransferCtrlIn(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Addr,
unsigned _input_Mps,
brp_buf _input_Setup,
unsigned _input_InLen,
unsigned _input_TimeoutMs,
brp_buf* InData,
size_t* InData_len,
brp_mempool *mempool);
430 brp_errcode brp_DHWCtrl_UsbHostTransferCtrlIn(brp_DHWCtrl_UsbHostTransferCtrlIn_t params);
441 } brp_DHWCtrl_UsbHostTransferCtrlOut_t;
455 #ifdef BRP_SUPPORT_LEGACY_METHODS 456 brp_errcode brp_DHWCtrl_UsbHostTransferCtrlOut(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Addr,
unsigned _input_Mps,
brp_buf _input_Setup,
brp_buf _input_OutData,
size_t _input_OutData_len,
unsigned _input_TimeoutMs);
458 brp_errcode brp_DHWCtrl_UsbHostTransferCtrlOut(brp_DHWCtrl_UsbHostTransferCtrlOut_t params);
465 brp_DHWCtrlUsbTransferAttr Attr;
472 } brp_DHWCtrl_UsbHostTransferIn_t;
489 #ifdef BRP_SUPPORT_LEGACY_METHODS 490 brp_errcode brp_DHWCtrl_UsbHostTransferIn(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Addr,
unsigned _input_Ep, brp_DHWCtrlUsbTransferAttr _input_Attr,
unsigned _input_Mps,
unsigned _input_MaxLen,
unsigned _input_TimeoutMs,
brp_buf* Data,
size_t* Data_len,
brp_mempool *mempool);
492 brp_errcode brp_DHWCtrl_UsbHostTransferIn(brp_DHWCtrl_UsbHostTransferIn_t params);
499 brp_DHWCtrlUsbTransferAttr Attr;
504 } brp_DHWCtrl_UsbHostTransferOut_t;
519 #ifdef BRP_SUPPORT_LEGACY_METHODS 520 brp_errcode brp_DHWCtrl_UsbHostTransferOut(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Addr,
unsigned _input_Ep, brp_DHWCtrlUsbTransferAttr _input_Attr,
unsigned _input_Mps,
brp_buf _input_Data,
size_t _input_Data_len,
unsigned _input_TimeoutMs);
522 brp_errcode brp_DHWCtrl_UsbHostTransferOut(brp_DHWCtrl_UsbHostTransferOut_t params);
529 } brp_DHWCtrl_UsbHostTransferCancel_t;
539 #ifdef BRP_SUPPORT_LEGACY_METHODS 540 brp_errcode brp_DHWCtrl_UsbHostTransferCancel(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Addr,
unsigned _input_Ep);
542 brp_errcode brp_DHWCtrl_UsbHostTransferCancel(brp_DHWCtrl_UsbHostTransferCancel_t params);
548 } brp_DHWCtrl_UsbHostSofControl_t;
557 #ifdef BRP_SUPPORT_LEGACY_METHODS 560 brp_errcode brp_DHWCtrl_UsbHostSofControl(brp_DHWCtrl_UsbHostSofControl_t params);
570 } brp_DHWCtrl_FlashRead_t;
583 #ifdef BRP_SUPPORT_LEGACY_METHODS 586 brp_errcode brp_DHWCtrl_FlashRead(brp_DHWCtrl_FlashRead_t params);
594 } brp_DHWCtrl_FlashWrite_t;
605 #ifdef BRP_SUPPORT_LEGACY_METHODS 606 brp_errcode brp_DHWCtrl_FlashWrite(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Sector,
brp_buf _input_Data,
size_t _input_Data_len);
608 brp_errcode brp_DHWCtrl_FlashWrite(brp_DHWCtrl_FlashWrite_t params);
615 } brp_DHWCtrl_FlashErase_t;
625 #ifdef BRP_SUPPORT_LEGACY_METHODS 626 brp_errcode brp_DHWCtrl_FlashErase(
brp_protocol protocol,
unsigned _input_Index,
unsigned _input_Sector,
unsigned _input_Count);
628 brp_errcode brp_DHWCtrl_FlashErase(brp_DHWCtrl_FlashErase_t params);
632 brp_DHWCtrl_ListPeripherals_Entries_Entry** Entries;
635 } brp_DHWCtrl_ListPeripherals_t;
645 #ifdef BRP_SUPPORT_LEGACY_METHODS 648 brp_errcode brp_DHWCtrl_ListPeripherals(brp_DHWCtrl_ListPeripherals_t params);
650 #endif // BALTECH_SDK_INTERNAL unsigned int brp_errcode
This type is used library-wide for passing error codes in the return value of functions.
struct brp_protocol_t * brp_protocol
This is a generic handle of a protocol.
struct brp_mempool_object_t * brp_mempool
mempool handle.
unsigned char * brp_buf
represents a pointer to a protocol data buffer.