Introduced advertisement on channel 1 and clock-channel to be configurable.
This commit is contained in:
43
src/radio.h
43
src/radio.h
@@ -61,7 +61,29 @@ struct textMessage_s {
|
||||
|
||||
class Radio {
|
||||
public:
|
||||
Radio(Display *d, bool _isMaster):display(d), isMaster(_isMaster) { };
|
||||
Radio(Display *d, bool _isMaster):display(d), isMaster(_isMaster) {
|
||||
inTX = true;
|
||||
inRX = false;
|
||||
role = inRX;
|
||||
nextRequestToRegisterAnnouncement_ts = 0;
|
||||
nextClockAdvertisement_ts = 0;
|
||||
nextPairingOfferingAnnouncement_ts = 0;
|
||||
timeBetweenClockAdvertisements_ms = DEFAULT_TIME_BETWEEN_CLOCK_ADVERTISEMENTS_ms;
|
||||
timeForClientsToRespond_ms = DEFAULT_TIME_FOR_CLIENTS_TO_RESPOND_ms;
|
||||
timeBetweenPairingOfferingAnnouncements_ms = DEFAULT_TIME_BETWEEN_PAIRING_OFFERINGS_ms;
|
||||
nextSendMessage_ts = 0;
|
||||
clockChannel = DEFAULT_CLOCK_CHANNEL;
|
||||
strncpy(clockName, "defclk", MAX_CLOCK_NAME_LEN);
|
||||
};
|
||||
|
||||
void setClockName(const char *_clockName) {
|
||||
strncpy(clockName, _clockName, MAX_CLOCK_NAME_LEN);
|
||||
};
|
||||
|
||||
void setClockChannel(uint8_t _channel) {
|
||||
clockChannel = _channel;
|
||||
};
|
||||
|
||||
void begin(void);
|
||||
void loop(void);
|
||||
void broadcastClock(int day, int hour, int minute, int second, int msPerModelSecond);
|
||||
@@ -69,9 +91,28 @@ public:
|
||||
void broadcastTextMessage(const char *text);
|
||||
void handleRequestPairing(struct requestPairing_s *request);
|
||||
void ackPairingRequest(char *clientName, uint8_t clientNetworkAddress);
|
||||
void avoidChannelSwitchesFor_ms(unsigned int duration_ms);
|
||||
void listenOnlyFor_ms(unsigned int duration_ms);
|
||||
bool allowedToSendNow(void);
|
||||
private:
|
||||
Display *display;
|
||||
bool isMaster;
|
||||
void switchToSenderRole(void);
|
||||
void switchToReceiverRole(void);
|
||||
bool inTX, inRX, role;
|
||||
char clockName[MAX_CLOCK_NAME_LEN];
|
||||
void broadcastMessage(void *msg, int len);
|
||||
void broadcastMessageOnChannel(void *msg, int len, uint8_t channel);
|
||||
void broadcastClockAdvertisement(const char *clockName, uint8_t channel);
|
||||
bool checkPairingOffering(void); // returns true, if a message has been sent
|
||||
bool checkClockAdvertisement(void); // returns true, if a message has been sent
|
||||
unsigned long nextClockAdvertisement_ts;
|
||||
unsigned long timeBetweenClockAdvertisements_ms;
|
||||
unsigned long nextPairingOfferingAnnouncement_ts;
|
||||
unsigned long timeBetweenPairingOfferingAnnouncements_ms;
|
||||
unsigned long nextRequestToRegisterAnnouncement_ts;
|
||||
unsigned long timeForClientsToRespond_ms;
|
||||
unsigned long nextSendMessage_ts;
|
||||
uint8_t clockChannel;
|
||||
};
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user