IQRF SPI library for Arduino  Version 1.2
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
IQRFSPI Class Reference

#include <IQRFSPI.h>

Public Types

enum  statuses {
  NO_MODULE = 0xFF, BUSY = 0xFE, DATA_TRANSFER = 0xFD, DISABLED = 0x00,
  CRCM_OK = 0x3F, CRCM_ERR = 0x3E, COMMUNICATION_MODE = 0x80, PROGRAMMING_MODE = 0x81,
  DEBUG_MODE = 0x82, SLOW_MODE = 0x83, USER_STOP = 0x07
}
 
enum  masterStatuses { FREE = 0, WRITE = 1, READ = 2 }
 
enum  commands {
  CHECK = 0x00, WR_RD = 0xF0, RAM_READ = 0xF1, EEPROM_READ = 0xF2,
  EEPROM_PGM = 0xF3, MODULE_INFO = 0xF5, FLASH_PGM = 0xF6, PLUGIN_PGM = 0xF9
}
 

Public Member Functions

uint8_t getStatus ()
 
void setStatus (uint8_t status)
 
void enableMaster ()
 
void disableMaster ()
 
bool isMasterEnabled ()
 
uint8_t getMasterStatus ()
 
void setMasterStatus (uint8_t status)
 
void enableFastSpi ()
 
void disableFastSpi ()
 
bool isFastSpiEnabled ()
 
unsigned long getBytePause ()
 
void setBytePause (unsigned long time)
 

Detailed Description

IQRF SPI

Member Enumeration Documentation

SPI commands for TR module (see IQRF SPI user manual)

Enumerator
CHECK 

Master checks the SPI status of the TR module.

WR_RD 

Master reads/writes a packet from/to TR module.

RAM_READ 

Master reads data from ram in debug mode.

EEPROM_READ 

Master reads data from eeprom in debug mode.

EEPROM_PGM 

Master writes data to eeprom in programming mode.

MODULE_INFO 

Master reads Module Info from TR module.

FLASH_PGM 

Master writes data to flash in programming mode.

PLUGIN_PGM 

Master writes plugin data to flash in programming mode.

IQRF SPI master statuses

Enumerator
FREE 

SPI master free.

WRITE 

SPI master wrtite.

READ 

SPI master read.

SPI status of TR module (see IQRF SPI user manual)

Enumerator
NO_MODULE 

SPI not working (HW error)

BUSY 

SPI busy in Master disabled mode.

DATA_TRANSFER 

SPI data transfer in progress.

DISABLED 

SPI not working (disabled)

CRCM_OK 

SPI not ready (full buffer, last CRCM ok)

CRCM_ERR 

SPI not ready (full buffer, last CRCM error)

COMMUNICATION_MODE 

SPI ready (communication mode)

PROGRAMMING_MODE 

SPI ready (programming mode)

DEBUG_MODE 

SPI ready (debugging mode)

SLOW_MODE 

SPI not working in background.

USER_STOP 

SPI state after stopSPI();.

Member Function Documentation

void IQRFSPI::disableFastSpi ( )

Disable Fast SPI

void IQRFSPI::disableMaster ( )

Disable SPI master

void IQRFSPI::enableFastSpi ( )

Enable Fast SPI

void IQRFSPI::enableMaster ( )

Enable SPI master

unsigned long IQRFSPI::getBytePause ( )

Get SPI byte to byte pause in us

Returns
SPI byte to byte pause in us
uint8_t IQRFSPI::getMasterStatus ( )

Get Master status

Returns
Master status
uint8_t IQRFSPI::getStatus ( )

Get TR module SPI status

Returns
TR module SPI status
Status code Status message Description
0xFF NO_MODULE SPI not working (HW error)
0xFE BUSY SPI busy in Master disabled mode
0xFD DATA_TRANSFER SPI data transfer in progress
0x00 DISABLED SPI not working (disabled)
0x3F CRCM_OK SPI not ready (full buffer, last CRCM ok)
0x3E CRCM_ERR SPI not ready (full buffer, last CRCM error)
0xFF COMMUNICATION_MODE SPI ready (communication mode)
0x81 PROGRAMMING_MODE SPI ready (programming mode)
0x82 DEBUG_MODE SPI ready (debugging mode)
0x83 SLOW_MODE SPI not working in background
0x07 USER_STOP SPI state after stopSPI();
bool IQRFSPI::isFastSpiEnabled ( )

Get Fast SPI status

Returns
Fast SPI status
bool IQRFSPI::isMasterEnabled ( )

Get TR SPI master status

Returns
TR SPI master status
void IQRFSPI::setBytePause ( unsigned long  time)

Set SPI byte to byte pause in us

Parameters
timeByte to byte time in us
void IQRFSPI::setMasterStatus ( uint8_t  status)

Set master status

Parameters
statusMaster status
void IQRFSPI::setStatus ( uint8_t  status)

Set TR module SPI status

Parameters
statusSPI status

The documentation for this class was generated from the following files: