UbusSlave.cpp 716 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * AppBridge.cpp
  3. *
  4. * Created on: Mar 3, 2025
  5. * Author: juraj
  6. */
  7. #include <UbusSlave.h>
  8. UbusSlave::UbusSlave(uint8_t address, UART_HandleTypeDef *uartUbus) {
  9. _address = address;
  10. _uartUbus = uartUbus;
  11. _packet = new DataFrame (_data_packet, sizeof(_data_packet), TYPE_PLAIN, CRC_ON);
  12. }
  13. UbusSlave::~UbusSlave() {
  14. // TODO Auto-generated destructor stub
  15. }
  16. void UbusSlave::transmit(uint8_t size) {
  17. HAL_UART_Transmit(_uartUbus, _packet->GetFrame(), size, 100);
  18. }
  19. void UbusSlave::ubus_echo() {
  20. _packet->Init();
  21. _packet->AddInt8(_address);
  22. _packet->AddInt8(0); // toMODULE
  23. _packet->AddInt8(1); // ECHO
  24. _packet->AddInt32(0x64636261);
  25. uint8_t length = _packet->Commit();
  26. transmit(length);
  27. }