C
readme.ino
Go to the documentation of this file.
1 /****************************************************
2  * APC220 config
3  * A small arduino by Jens Dalsgaard Nielsen, AAU
4  * Studentspace @ Aalborg University
5  * http://es.aau.dk/staff/jdn
6  *
7  * Find this code at github.com/jdn-aau/div
8  *
9  * This program is for setting frequency and baudrate on the
10  * apc220 radio using an arduino.
11  *
12  * I is not able to setup the advanced features like network ID etc
13  * In that case you need the apc220 config program (windows)
14  * On the other hand I have never used these networking features.
15  * If you want independent network I normally implement this by using
16  * different frequencies.
17  *
18  * DIFFERENT VERSIONS
19  * There are several versions of the apc220 radio which cover slightly
20  * different frequency bands.
21  * apc220-43 418-455 MHz
22  * apc220 v4.c 431-475 MHz
23  * It is difficult to obtain the correct information
24  * One "rule" green PCB 475 MHz area
25  * yellw/orange 433 MHz area
26  *
27  *
28  * HOW TO USE IT ...........................
29  *
30  * Upload this program to your Arduino UNO
31  * (not to be used with DUE and other non AVR architectures)
32  *
33  * METHOD 1) Attach radio to dig pin 8-13:
34  *
35  >ARDUINO UNO<
36  ---------------
37  | A aref >APC220 radio<
38  | R GND-++-GND-------------
39  | D 13 ++ 5V |=antenna =======>
40  IOREF U 12 -- ENABLE(high) |
41  RESET I 11 ++ RX |
42  3.3V N 10 ++ TX |
43  5V O 09 -- not used |
44  GND 08-++ CONFIG(low)----|
45  GND P |
46  | B ~ 06
47  A0 ~ 05
48  A1 04
49  A2 ~ 03
50  A3 02
51  A4 TX 01
52  A5 RX 00
53  ---------------
54  *
55  * Program will search for the radio and if find you will get a menu
56  * for programming and reading radio
57  *
58  * R read settings
59  * W write new settings
60  * w FFFFFF R P B C - number of letters indicates precise number of digits
61  * FFFFFF: frequency: 434000 (434 MHz default ) range approx 418000-4/5000
62  * R: Rf data rate - 1/2/3/4 equals 2400(1km)/4800/9600/19200bps
63  * P: Radio output power - 0 .. 9 9 equals 13dBm(20mW)
64  * B: UART baudrate - 0/1/2/3/4/5/6 equals 1200/2400/4800/9600/19200/38400/57600bps
65  * C: Byte Chek Parity - 0/1/2 equals NoCheck(8N1)/EvenParity(8E1)/OddParity(8O1)
66  *
67  * Write example: w 434000 3 9 3 0 is...
68  * 434,000 MHz 9600 baud in air, 20mW, 9600baud on UART, No Parity(8N1)
69  *
70  *"p xx" FAST MODE
71  * Instead of writing allt he stuff just issue p xx - xx is an integer between 0 and ...
72  * Radio will be programmed with settings in source. The xx will adjust the radio frequency with
73  * f = startF + xx * stepF
74  *
75  * METHOD 2) Radio on AAU cansatshield or radio just connected to hw tx,rx
76  *
77  * Remember jumpers to the radio tx/rx (and setpin on shield v4)
78  * NB if you are going to upload a new program remove the jumpers temporarily
79  * To enable programming the setup pin on the radio must be set LOW
80  * The program is pin 8 in the program but it can be changed by changing SETPIN
81  * AAU shield v 4 can jumper the setpin to dig pin 8. If you have an older shield
82  * or just the radio connected to the hw tx/rx you must use a piece of wire
83  * NB the hw serial port can of course be changed (looking the source)
84  *
85  * The program will search for the radio and if present and setpin is reachable the
86  * radio will be programmed with the parameters found in the top of the main
87  *
88  * SO IF YOU HAVE TO PROGRAM MORE SHIELDS WITH DIFFERENT FREQUENCIES THEN
89  * 1. change parms in program source
90  * 2. recompile upload the new program
91  * 3. restart arduino
92  * 4. await action :-)
93  *
94  */
95 
96  /* CAPACITY CAPACITY
97  * The apc220 has 256 byte buffer onboard for TX and RX
98  * But
99  * 1. dont fill buffer (is you have higher uart baudrate than air baudrat)
100  * 2. average flow must be below half of air bandwidth because the apc radio add
101  * redundance to the info stream so errors can be corrected.
102  * To be safe be below 50% of nominal air bandwidth - and lower is you will be sure!!!
103  *
104  */
105