Damian Gabino / picoGW_mcu
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers sx1308.h Source File

sx1308.h

00001 /*
00002  / _____)             _              | |
00003 ( (____  _____ ____ _| |_ _____  ____| |__
00004  \____ \| ___ |    (_   _) ___ |/ ___)  _ \
00005  _____) ) ____| | | || |_| ____( (___| | | |
00006 (______/|_____)_|_|_| \__)_____)\____)_| |_|
00007   (C)2017 Semtech
00008 */
00009 
00010 #ifndef SX1308_H
00011 #define SX1308_H
00012 
00013 #include "mbed.h"
00014 
00015 class SX1308 {
00016 
00017 public:
00018     SX1308(PinName slaveSelectPin, PinName mosi, PinName miso, PinName sclk, PinName interrupt, PinName Reset);
00019     virtual bool   init();
00020     void           dig_reset();
00021     void           spiWrite(uint8_t reg, uint8_t val);
00022     void           spiWriteBurstF(uint8_t reg, uint8_t * val, int size);
00023     void           spiWriteBurst(uint8_t reg, uint8_t * val, int size);
00024     void           spiWriteBurstM(uint8_t reg, uint8_t * val, int size);
00025     void           spiWriteBurstE(uint8_t reg, uint8_t * val, int size);
00026     uint8_t        spiRead(uint8_t reg);
00027     uint8_t        spiReadBurstF(uint8_t reg, uint8_t *data, int size);
00028     uint8_t        spiReadBurstM(uint8_t reg, uint8_t *data, int size);
00029     uint8_t        spiReadBurstE(uint8_t reg, uint8_t *data, int size);
00030     uint8_t        spiReadBurst(uint8_t reg, uint8_t *data, int size);
00031     volatile uint8_t waittxend;
00032     uint8_t        txongoing;
00033     Timer          timerstm32ref;
00034     uint32_t       offtmstpstm32;
00035     uint32_t       offtmstpstm32ref;
00036     bool           firsttx;
00037 
00038 private:
00039     void           isr0();
00040     uint8_t        _interruptPin;
00041     DigitalOut     _slaveSelectPin;
00042     DigitalOut     _reset;
00043     SPI            _spi;
00044     InterruptIn    _interrupt;
00045 };
00046 
00047 #endif