Support for TI CC1101 radios in amforth. Possibly CC111x/CC112x in the future.

root

amforth-cc11x

Support for TI CC1101 radios in amforth

Possibly more from this family in the future if I buy any.

installation

Upload the following dependencies from amforth using am4up or amforth-upload.py if not already done:

synonym.frt
bitnames.frt
ports-standard.frt
2rvalue.frt
spi.frt
ms.frt
buffer.frt

Upload what you need from cc1101-regs.frt then cc1101.frt.

wiring

header diagram

header diagram

(Example for duemilanove based MCUs)

avr             cc1101
GND        ---- GND       [9]
Vcc        ---- VDD       [1]
digital.10 ---- CSN       [7]
digital.11 ---- SI/MOSI   [3]
digital.12 ---- SO/MISO   [5]
digital.13 ---- SCK       [4]
digital.2  ---- GDO0      [8]
digital.9  ---- GDO2      [6]

NOTE: Run the AVR's at the same clock speed.

usage

Listen for a message and type it when it arrives:

cc1101_init rf> type

Send a test message:

cc1101_init s" Hello from CC1101" >rf

todo

  • Can we do single byte packets for remote control use? (I/O redirection)
  • Context wrappers [PDF] would be even better!
  • A flexible but compact way to change settings
  • Separate config handling words. Perhaps in a separate file wrapped in markers so we won't need to keep it in flash.
  • Figure out what the default configuration is so we can delete some of the register map and conserve flash space.
  • Interrupts
  • Write a range tester
  • Consistent, canonical names for the Forth words
  • Add some basic legal advice to avoid visits from the FCC!

copying

amforth-cc11x is licensed under GPLv3 just like amforth.

contact

I am Andreas Wagner and my email address is andreas.wagner@lowfatcomputing.org