Hi everyone,
I recently bouth a pair of NRF905 transceivers but I'm having some difficulties to make them work.
I followed instructions from this link:
http://www.electrodragon.com/w/NRF905_Transceiver_433MHz-Wireless_Module
I've installed the library and when I try to compile any of the examples given I always get an error.
Thanks for any help!
#include <NRF905.h>
#include <SPI.h>
#define BUF_LEN 32
#define CONF_LEN 10
#define NRF905_CSN 10
unsigned char tx_buf[BUF_LEN]= "Hi, Arduino \r\n";
unsigned char read_config_buf[CONF_LEN];
byte tx_address[4]= {0xcc,0xcc,0xcc,0xcc};
void setup()
{
unsigned char i;
pinMode(NRF905_CSN,OUTPUT); //to make sure SPI works
nrf905=NRF905(NRF905_CSN);
nrf905.init();
/**
default configuration, need to specify frequency
choose Z-Wave frequency band, support :
US 908.42Mhz
EUROPE 868.42MHz
AFRICA 868.42MHz
CHINA 868.42MHz
HK 919.82MHz
JAPAN 853.42MHz
AUSTRALIA 921.42MHz
NEW_ZEALAND 921.42MHz
BRASIL 921.42MHz
RUSSIA 896MHz
*/
nrf905.write_config(EUROPE);
nrf905.read_config(read_config_buf);
Serial.begin(9600);
for(i=0; i<10; i++)
{
Serial.print(read_config_buf[i],HEX);
Serial.print(' ');
}
tx_buf[12] = '0';
}
void loop()
{
/** transmit data packet with default TX Address */
nrf905.TX(tx_buf);
/** transmit data packet with specified TX Address */
// nrf905.TX(tx_buf, tx_address);
// NOTE: TX_Address and RX_Address must be the same
/** Count Sending times */
tx_buf[12]++;
if(tx_buf[12] == 0x3A){
tx_buf[12] = '0';
}
delay(50);
}
Error:
Arduino: 1.6.4 (Windows 7), Board: "Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
C:\Program Files (x86)\Arduino\libraries\NRF905\NRF905.cpp:16:33: error: variable 'freq_tab' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
PROGMEM unsigned int freq_tab[10] = {
^
Error compiling.
This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.