IQRF SPI library for Arduino  Version 1.2
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
IQRFSPI.h
Go to the documentation of this file.
1 
22 #ifndef IQRFSPI_H
23 #define IQRFSPI_H
24 
25 #include <stdint.h>
26 
27 #include "IQSPI.h"
28 
32 class IQRFSPI {
33 public:
34  uint8_t getStatus();
35  void setStatus(uint8_t status);
36  void enableMaster();
37  void disableMaster();
38  bool isMasterEnabled();
39  uint8_t getMasterStatus();
40  void setMasterStatus(uint8_t status);
41  void enableFastSpi();
42  void disableFastSpi();
43  bool isFastSpiEnabled();
44  unsigned long getBytePause();
45  void setBytePause(unsigned long time);
46 
50  enum statuses {
51  NO_MODULE = 0xFF,
52  BUSY = 0xFE,
53  DATA_TRANSFER = 0xFD,
54  DISABLED = 0x00,
55  CRCM_OK = 0x3F,
56  CRCM_ERR = 0x3E,
59  DEBUG_MODE = 0x82,
60  SLOW_MODE = 0x83,
61  USER_STOP = 0x07
62  };
63 
68  FREE = 0,
69  WRITE = 1,
70  READ = 2
71  };
72 
76  enum commands {
77  CHECK = 0x00,
78  WR_RD = 0xF0,
79  RAM_READ = 0xF1,
80  EEPROM_READ = 0xF2,
81  EEPROM_PGM = 0xF3,
82  MODULE_INFO = 0xF5,
83  FLASH_PGM = 0xF6,
84  PLUGIN_PGM = 0xF9
85  };
86 private:
88  bool master;
90  uint8_t masterStatus;
92  uint8_t status;
94  bool fastSpi;
96  unsigned long bytePause;
97 };
98 
99 #endif
SPI ready (debugging mode)
Definition: IQRFSPI.h:59
Master reads data from ram in debug mode.
Definition: IQRFSPI.h:79
SPI not working (HW error)
Definition: IQRFSPI.h:51
commands
Definition: IQRFSPI.h:76
unsigned long getBytePause()
Definition: IQRFSPI.cpp:120
SPI master read.
Definition: IQRFSPI.h:70
void enableMaster()
Definition: IQRFSPI.cpp:56
SPI master wrtite.
Definition: IQRFSPI.h:69
SPI not ready (full buffer, last CRCM ok)
Definition: IQRFSPI.h:55
Master checks the SPI status of the TR module.
Definition: IQRFSPI.h:77
SPI data transfer in progress.
Definition: IQRFSPI.h:53
void setBytePause(unsigned long time)
Definition: IQRFSPI.cpp:128
SPI busy in Master disabled mode.
Definition: IQRFSPI.h:52
masterStatuses
Definition: IQRFSPI.h:67
Master reads Module Info from TR module.
Definition: IQRFSPI.h:82
SPI not ready (full buffer, last CRCM error)
Definition: IQRFSPI.h:56
SPI master free.
Definition: IQRFSPI.h:68
Master writes data to flash in programming mode.
Definition: IQRFSPI.h:83
void disableMaster()
Definition: IQRFSPI.cpp:63
SPI ready (programming mode)
Definition: IQRFSPI.h:58
Master writes data to eeprom in programming mode.
Definition: IQRFSPI.h:81
void disableFastSpi()
Definition: IQRFSPI.cpp:103
void enableFastSpi()
Definition: IQRFSPI.cpp:95
bool isFastSpiEnabled()
Definition: IQRFSPI.cpp:112
statuses
Definition: IQRFSPI.h:50
SPI not working in background.
Definition: IQRFSPI.h:60
SPI not working (disabled)
Definition: IQRFSPI.h:54
bool isMasterEnabled()
Definition: IQRFSPI.cpp:72
SPI ready (communication mode)
Definition: IQRFSPI.h:57
void setStatus(uint8_t status)
Definition: IQRFSPI.cpp:49
uint8_t getMasterStatus()
Definition: IQRFSPI.cpp:80
Definition: IQRFSPI.h:32
uint8_t getStatus()
Definition: IQRFSPI.cpp:41
void setMasterStatus(uint8_t status)
Definition: IQRFSPI.cpp:88
SPI state after stopSPI();.
Definition: IQRFSPI.h:61
Master reads/writes a packet from/to TR module.
Definition: IQRFSPI.h:78
Master writes plugin data to flash in programming mode.
Definition: IQRFSPI.h:84
Master reads data from eeprom in debug mode.
Definition: IQRFSPI.h:80