Hi,
I can't initialize si4432 (RF22) link connected by SPI to teensty 3.1 board using RadioHead library, but no problem when connected to Arduino board.
I am using Arduino IDE 1.6.6 + teensyduino 1.26 + RadioHead 1.50 http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.50.zip
Has anybody make it working recently?
Here is my code:
I can't initialize si4432 (RF22) link connected by SPI to teensty 3.1 board using RadioHead library, but no problem when connected to Arduino board.
I am using Arduino IDE 1.6.6 + teensyduino 1.26 + RadioHead 1.50 http://www.airspayce.com/mikem/arduino/RadioHead/RadioHead-1.50.zip
Has anybody make it working recently?
Here is my code:
Code:
#include <ILI9341_t3.h>
#include <font_Arial.h>
#include <XPT2046_Touchscreen.h>
#include <SPI.h>
#include <RHMesh.h>
#include <RH_RF22.h>
#define RH_MESH_MAX_MESSAGE_LEN 100
#define TFT_VCC 6
#define RF_PIN 7
#define TS_CS 8
#define TFT_DC 9
#define TFT_CS 10
// MOSI=11, MISO=12, SCK=13
#define TS_MINX 150
#define TS_MINY 130
#define TS_MAXX 3800
#define TS_MAXY 4000
#define CLIENT_ADDRESS 1
#define SERVER1_ADDRESS 2
#define SERVER2_ADDRESS 3
#define SERVER3_ADDRESS 4
RH_RF22 driver(15,2);
RHMesh manager(driver, CLIENT_ADDRESS);
//XPT2046_Touchscreen ts(TS_CS);
ILI9341_t3 tft = ILI9341_t3(TFT_CS, TFT_DC);
void setup()
{
Serial.begin(38400);
pinMode(TFT_VCC, OUTPUT);
analogWrite(TFT_VCC, 200);
pinMode(2, INPUT);
tft.begin();
tft.setRotation(1);
tft.fillScreen(ILI9341_BLACK);
tft.setTextColor(ILI9341_YELLOW);
tft.setFont(Arial_16);
tft.setCursor(0, 0);
tft.println("LCD OK");
tft.setCursor(0, 18);
// ts.begin();
delay(1000);
if (!manager.init())
{
tft.println("RF failed !!!");
Serial.println("RF failed !!!");
}
else
{
tft.println("RF OK :)");
Serial.println("RF OK");
}
driver.setTxPower(RH_RF22_TXPOW_2DBM);
}
uint8_t buf[RH_MESH_MAX_MESSAGE_LEN];
void loop()
{
uint8_t len = sizeof(buf);
uint8_t from;
if (manager.recvfromAckTimeout(buf, &len, 3000, &from))
{
tft.fillScreen(ILI9341_BLACK);
tft.setCursor(0, 80);
tft.print("got reply from: ");
tft.print(from, HEX);
tft.println(": ");
tft.println((char*)buf);
Serial.println((char*)buf);
}
delay(10);
}