#include "Dcc.h" #include std::vector Dcc::generateAccessoryPacket(uint16_t addr, bool activate) { // This produces a simple, application-level packet representation. // For NMRA-compliant bitstreams you will need a timing-accurate generator. std::vector p; p.push_back((uint8_t)(addr >> 8)); p.push_back((uint8_t)(addr & 0xFF)); p.push_back(activate ? 1 : 0); return p; } void Dcc::sendPacket(const std::vector &packet, int pin) { // Simple simulation: print packet and toggle pin briefly for each byte. Serial.print("DCC packet: "); for (size_t i = 0; i < packet.size(); ++i) { Serial.print(packet[i], HEX); Serial.print(' '); digitalWrite(pin, HIGH); delay(2); digitalWrite(pin, LOW); delay(2); } Serial.println(); }