Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "RadioDriver.h"
- #include "RadioDriver95.h"
- #include "RadioDriver69.h"
- void setup()
- {
- RadioDriver *radioDriver;
- if(whatever)
- radioDriver = new RadioDriver95(4, 5);
- else
- radioDriver = new RadioDriver69(4, 5);
- //Do stuff..
- uint8_t stuff[] = {1, 2, 3, 4, 5};
- //Now you address them the same way, and not care which was selected...
- radioDriver->send(stuff, 5);
- return 0;
- }
- /*
- RadioDriver.h
- */
- class RadioDriver
- {
- protected:
- uint8_t chipSelectPin{};
- uint8_t intPin{};
- public:
- RadioDriver(uint8_t chipSelectPin, uint8_t intPin){}
- virtual void send(uint8_t *radioPacket, uint8_t radioPacketSize)=0;
- };
- /*
- RadioDriver95.h
- */
- #import "RadioDriver.h"
- class RadioDriver95 : public RadioDriver
- {
- public:
- RadioDriver95(uint8_t chipSelectPin, uint8_t intPin) : RadioDriver(chipSelectPin, intPin);
- void send(uint8_t *radioPacket, uint8_t radioPacketSize);
- };
- void RadioDriver95::send(uint8_t *radioPacket, uint8_t radioPacketSize)
- {
- //Send data to 95 driver...
- }
- /*
- RadioDriver69.h
- */
- #import "RadioDriver.h"
- class RadioDriver69 : public RadioDriver
- {
- public:
- RadioDriver69(uint8_t chipSelectPin, uint8_t intPin) : RadioDriver(chipSelectPin, intPin);
- void send(uint8_t *radioPacket, uint8_t radioPacketSize);
- };
- void RadioDriver69::send(uint8_t *radioPacket, uint8_t radioPacketSize)
- {
- //Send data to 69 driver...
- }
Advertisement
Add Comment
Please, Sign In to add comment