Function TransportRx_Process(struct HostTransport_Handle *, const uint8_t *, uint16_t)

Function Documentation

int TransportRx_Process(struct HostTransport_Handle *handle, const uint8_t *buffer, uint16_t length)

Processes received package from the OUT endpoint of host.

Shall be called in CDC_Receive_FS(uint8_t* Buf, uint32_t *Len). Performs simple check on the recieved buffer and forwards of the data package header ID is one of:

  • TransportHeader_Id_Rx_GetFirmwareVersion

  • TransportHeader_Id_Rx_GetOutputDataRate

  • TransportHeader_Id_Rx_SetOutputDataRa

  • TransportHeader_Id_Rx_GetRange

  • TransportHeader_Id_Rx_SetRange

  • TransportHeader_Id_Rx_GetScale

  • TransportHeader_Id_Rx_SetScale

  • TransportHeader_Id_Rx_GetDeviceSetup

  • TransportHeader_Id_Rx_DeviceReboot

  • TransportHeader_Id_Rx_SamplingStart

  • TransportHeader_Id_Rx_SamplingStop

Parameters:
  • handle – host transport pimpl

  • buffer – received package (as a whole, must not be fragmented)

  • length – received package length

Returns:

  • -EINVAL on invalid arguments

  • HostTransport_Handle.onReceived(uint8_t *, uint32_t *) otherwise