Skip to content
/ jeelib Public
forked from Telmac1802/jeelib

A fork of JeeLib for Arduino IDE: , RF12, and RF69 drivers with Arduino SPI

License

Notifications You must be signed in to change notification settings

bleara/jeelib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JeeLib is an Arduino IDE library for JeeNodes (made by JeeLabs)
and for compatible devices, with drivers for its wireless radio module,
its "JeePort" interfaces, and a range of add-on "JeePlug" interfaces.

The home page for this library is at https://jeelabs.net/projects/jeelib/wiki.

This jeelib library is forked to use Arduino SPI library with radios RFM12b and RFM69CW. Arduino version 1.8.10 is used.

Included example RF12demo_SPI.ino (a modified RF12demo.ino) is working on boards or microcontrollers: Jeenode, Arduino Uno, Arduino Nano, Arduino Mini Pro, Arduino ATmega 2560,

ATmega328PB with MiniCore: https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json ,

Arduino Nano Every; http://downloads.arduino.cc/packages/package_avr_7.3.0_index.json

LGT8F328 with core LGT8fx boards by buezas: https://raw.githubusercontent.com/dbuezas/lgt8fx/master/package_lgt8fx_index.json

ESP8266 (Wemos D1 R1 Mini): http://arduino.esp8266.com/stable/package_esp8266com_index.json,

ESP32 (DOIT ESP32 DEVKIT V1): https://dl.espressif.com/dl/package_esp32_index.json,

STM32F103C8 (Blue Pill), STM32F103CBT6 (Maple Mini) with

STMduino.com core (Roger Clarck) http://dan.drown.org/stm32duino/package_STM32duino_index.json and

STM32 (official) core https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json.

Other MCUs than AVR dont have dedicated EEPROM and dont restore radio settings when programing with a different sketch. An extern EEPROM is not supported either.

Modified files in JeeLib: RF12.cpp, RF69.cpp, RF69_compat.cpp, RF69_avr.h, Ports.h, Ports.cpp, PortsSHT11.cpp. Added files to JeeLib: RF69_avr1.h and crc16.h.

Original JeeLib support continue to JeeNode and atmega328PA. Due errors in compiling Ports.cpp to other MCU:s there is no or partial support to LuxPlug, ColorPlug, InputPlug, InfraredPlug, Sleep modes and PowerDown, -Saving. Not tryed
Jeelabs module working with other MCU than ATMefa328PA.

Main goal to use radio modules RFM12b and RFM69CW with different microcontrollers. Needed two hardware serial ports. Using MiniCore + SPI1 + Atmega328PB made it possible.

ESP32 and STM32F103X can use two SPI-bus. Used aither SPI or SPI1 succesfylly - see RF12demo_SPI.ino. Using both SPI and SPI1 bus on the same sketch is not supported.

Used radio modules RFM12b (#define RF69_COMPAT 0) or RFM69CW (#define RF69_COMPAT 1).

SPI and SPI1 are supported. SPI is default. No software-SPI implementeed.

if SPI1 is used, "#define JEELIB_SPI1 1" in RF12.h is needed.

if SPI1 and RFM69CW is used, "#define JEELIB_SPI1 1" and "#define RF69_COMPAT 1" is needed in RF12.h and "#define JEELIB_SPI1 1" in RF69.cpp and RF69_compat.cpp is needed.

This library must locate in username/Arduino/libraries/jeelib subfolder. The original jeelib subfolder must be renamed something like "jeelib_original" as long you use this fork. Arduino linker finds two jeelib but uses the one with subfolder name "jeelib". When not using this library, rename the subfolfer "jeelib" to "jeelib_SPI" and "jeelib_original" to "jeelib" and everything is like in good old jeelib days. I hope this fork is useful to someone.

About

A fork of JeeLib for Arduino IDE: , RF12, and RF69 drivers with Arduino SPI

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 87.3%
  • C 12.1%
  • CSS 0.6%