#include "AFPSlave.h" #define PIN_RX 4 AFPSlave afp(&Serial, '0', PIN_RX); int id1; int id2; void setup() { // enable auto-baud USART0.CTRLB |= USART_RXMODE_GENAUTO_gc; id1 = afp.addField("T"); id2 = afp.addField("M"); afp.updateInt(id1, 42); } void loop() { int req = afp.pollRequest(); switch (req) { case AFP_REQ_THIS: afp.disableAllFields(); if (afp.request_msg[0] == 'T') { afp.enableField(id1); } else if (afp.request_msg[0] == 'H') { afp.enableField(id1); afp.enableField(id2); } afp.sendReply(); break; case AFP_REQ_OTHER: afp.listenReply(); break; case AFP_REQ_BROADCAST: afp.updateInt(id1, 1000); case AFP_REQ_NONE: default: break; } delay(1); }