diff options
| author | Votre Nom <git-account@loicguegan.fr> | 2017-08-30 10:48:11 +0400 |
|---|---|---|
| committer | Votre Nom <git-account@loicguegan.fr> | 2017-08-30 10:48:11 +0400 |
| commit | f37f200792444fee2f74e807acfd5be7c9180cd7 (patch) | |
| tree | 135975e83d27a144d56f27e1ee4dc6fe0fe91af0 /GEOLOC/lib/dragino.c | |
Init repo
Diffstat (limited to 'GEOLOC/lib/dragino.c')
| -rw-r--r-- | GEOLOC/lib/dragino.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/GEOLOC/lib/dragino.c b/GEOLOC/lib/dragino.c new file mode 100644 index 0000000..30de48a --- /dev/null +++ b/GEOLOC/lib/dragino.c @@ -0,0 +1,40 @@ +#include "dragino.h" + + +void initPins(){ + // Init WiringPi + wiringPiSetup(); + pinMode(NSS_PIN, OUTPUT); + pinMode(DIO0_PIN, INPUT); + pinMode(RESET_PIN, OUTPUT); + wiringPiSPISetup(CHANNEL, BIT_RATE); +} + +byte readReg(byte address){ + byte buffer[2]; + buffer[0]=address & 0x7F; // Set read flag (SX1276 datasheet page 80) + buffer[1]=0x00; + + digitalWrite(NSS_PIN, LOW); + wiringPiSPIDataRW(CHANNEL, buffer, 2); + digitalWrite(NSS_PIN, HIGH); + + return(buffer[1]); +} +void writeReg(byte address, byte data){ + byte buffer[2]; + buffer[0]=address | 0x80; // Set write flag (SX1276 datasheet page 80) + buffer[1]=data; + + digitalWrite(NSS_PIN, LOW); + wiringPiSPIDataRW(CHANNEL, buffer, 2); + digitalWrite(NSS_PIN, HIGH); +} + +void reset(){ + // SX1276 datasheet page 116 + digitalWrite(RESET_PIN, LOW); + delay(100); + digitalWrite(RESET_PIN, HIGH); + delay(100); +} |
