2 * Copyright © 2010 Keith Packard <keithp@keithp.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
21 #if defined(TELEMETRUM_V_1_0)
26 #define HAS_SERIAL_1 1
28 #define USE_SERIAL_STDIN 0
31 #define USE_INTERNAL_FLASH 0
35 #define IGNITE_ON_P2 1
36 #define IGNITE_ON_P0 0
37 #define PACKET_HAS_MASTER 0
38 #define PACKET_HAS_SLAVE 1
40 #define HAS_COMPANION 1
41 #define COMPANION_CS_ON_P1 1
42 #define COMPANION_CS_MASK 0x4 /* CS1 is P1_2 */
43 #define COMPANION_CS P1_2
46 #define LEDS_AVAILABLE (AO_LED_RED)
47 #define HAS_EXTERNAL_TEMP 0
48 #define HAS_ACCEL_REF 0
54 #if defined(TELEMETRUM_V_1_1)
59 #define HAS_SERIAL_1 1
60 #define USE_SERIAL_STDIN 0
64 #define USE_INTERNAL_FLASH 0
68 #define IGNITE_ON_P2 1
69 #define IGNITE_ON_P0 0
70 #define PACKET_HAS_MASTER 0
71 #define PACKET_HAS_SLAVE 1
73 #define HAS_COMPANION 1
74 #define COMPANION_CS_ON_P1 1
75 #define COMPANION_CS_MASK 0x4 /* CS1 is P1_2 */
76 #define COMPANION_CS P1_2
79 #define LEDS_AVAILABLE (AO_LED_RED)
80 #define HAS_EXTERNAL_TEMP 0
81 #define HAS_ACCEL_REF 1
82 #define SPI_CS_ON_P1 1
83 #define SPI_CS_ON_P0 0
84 #define M25_CS_MASK 0x02 /* CS0 is P1_1 */
85 #define M25_MAX_CHIPS 1
91 #if defined(TELEDONGLE_V_0_2)
95 #define HAS_SERIAL_1 0
96 #define USE_SERIAL_STDIN 0
103 #define IGNITE_ON_P2 0
104 #define IGNITE_ON_P0 0
105 #define PACKET_HAS_MASTER 1
106 #define PACKET_HAS_SLAVE 0
108 #define AO_LED_GREEN 2
109 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
110 #define SPI_CS_ON_P1 1
111 #define SPI_CS_ON_P0 0
113 #define HAS_MONITOR 1
118 #if defined(TELEMINI_V_1_0)
123 #define HAS_SERIAL_1 0
124 #define USE_SERIAL_STDIN 0
128 #define USE_INTERNAL_FLASH 1
130 #define IGNITE_ON_P2 0
131 #define IGNITE_ON_P0 1
132 #define PACKET_HAS_MASTER 0
133 #define PACKET_HAS_SLAVE 1
134 #define USE_FAST_ASCENT_LOG 1
136 #define AO_LED_GREEN 1
138 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
139 #define HAS_EXTERNAL_TEMP 0
142 #define HAS_MONITOR 0
145 #if defined(TELENANO_V_0_1)
150 #define HAS_SERIAL_1 0
151 #define USE_SERIAL_STDIN 0
155 #define USE_INTERNAL_FLASH 1
157 #define IGNITE_ON_P2 0
158 #define IGNITE_ON_P0 1
159 #define PACKET_HAS_MASTER 0
160 #define PACKET_HAS_SLAVE 1
162 #define AO_LED_GREEN 1
164 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
165 #define HAS_EXTERNAL_TEMP 0
168 #define HAS_MONITOR 0
171 #if defined(TELEMETRUM_V_0_1)
176 #define HAS_SERIAL_1 1
177 #define USE_SERIAL_STDIN 0
182 #define USE_INTERNAL_FLASH 0
185 #define IGNITE_ON_P2 1
186 #define IGNITE_ON_P0 0
187 #define PACKET_HAS_MASTER 0
188 #define PACKET_HAS_SLAVE 1
190 #define AO_LED_GREEN 1
191 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
192 #define HAS_EXTERNAL_TEMP 1
193 #define HAS_ACCEL_REF 0
194 #define SPI_CS_ON_P1 1
195 #define SPI_CS_ON_P0 0
198 #define HAS_MONITOR 0
201 #if defined(TELEDONGLE_V_0_1)
205 #define HAS_SERIAL_1 0
206 #define USE_SERIAL_STDIN 0
213 #define IGNITE_ON_P2 0
214 #define IGNITE_ON_P0 0
215 #define PACKET_HAS_MASTER 1
216 #define PACKET_HAS_SLAVE 0
218 #define AO_LED_GREEN 1
219 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
220 #define SPI_CS_ON_P1 0
221 #define SPI_CS_ON_P0 1
223 #define HAS_MONITOR 1
228 #if defined(TIDONGLE)
232 #define HAS_SERIAL_1 0
233 #define USE_SERIAL_STDIN 0
240 #define IGNITE_ON_P2 0
241 #define IGNITE_ON_P0 0
242 #define PACKET_HAS_MASTER 1
243 #define PACKET_HAS_SLAVE 0
245 #define LEDS_AVAILABLE (AO_LED_RED)
246 #define SPI_CS_ON_P1 0
247 #define SPI_CS_ON_P0 1
249 #define HAS_MONITOR 1
254 #if defined(TELEBT_V_0_0)
258 #define HAS_SERIAL_1 1
259 #define USE_SERIAL_STDIN 1
267 #define IGNITE_ON_P2 0
268 #define IGNITE_ON_P0 0
269 #define PACKET_HAS_MASTER 1
270 #define PACKET_HAS_SLAVE 0
272 #define AO_LED_GREEN 1
273 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
274 #define SPI_CS_ON_P1 1
275 #define SPI_CS_ON_P0 0
277 #define HAS_IGNITE_REPORT 1
278 #define BT_LINK_ON_P2 1
279 #define BT_LINK_ON_P1 0
280 #define BT_LINK_PIN_INDEX 7
281 #define BT_LINK_PIN P2_1
282 #define HAS_MONITOR 1
287 #if defined(TELEBT_V_0_1)
291 #define HAS_SERIAL_1 1
292 #define HAS_SERIAL_1_ALT_1 1
293 #define HAS_SERIAL_1_ALT_2 0
294 #define HAS_SERIAL_1_HW_FLOW 1
295 #define USE_SERIAL_STDIN 1
300 #define USE_INTERNAL_FLASH 0
304 #define IGNITE_ON_P2 0
305 #define IGNITE_ON_P0 0
306 #define PACKET_HAS_MASTER 1
307 #define PACKET_HAS_SLAVE 0
309 #define AO_LED_GREEN 2
310 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
311 #define SPI_CS_ON_P1 1
312 #define SPI_CS_ON_P0 0
313 #define M25_CS_MASK 0x04 /* CS0 is P1_2 */
314 #define M25_MAX_CHIPS 1
317 #define HAS_IGNITE_REPORT 1
318 #define BT_LINK_ON_P2 0
319 #define BT_LINK_ON_P1 1
320 #define BT_LINK_PIN_INDEX 7
321 #define BT_LINK_PIN P1_7
322 #define HAS_MONITOR 1
327 #if defined(TELELAUNCH_V_0_1)
332 #define HAS_SERIAL_1 1
333 #define USE_SERIAL_STDIN 0
338 #define USE_INTERNAL_FLASH 1
341 #define IGNITE_ON_P2 1
342 #define IGNITE_ON_P0 0
343 #define PACKET_HAS_MASTER 0
344 #define PACKET_HAS_SLAVE 0
346 #define AO_LED_GREEN 1
347 #define LEDS_AVAILABLE (AO_LED_RED|AO_LED_GREEN)
348 #define HAS_EXTERNAL_TEMP 1
349 #define HAS_ACCEL_REF 0
350 #define SPI_CS_ON_P1 1
351 #define SPI_CS_ON_P0 0
354 #define HAS_MONITOR 0
360 #define DBG_CLOCK (1 << 4) /* mi0 */
361 #define DBG_DATA (1 << 5) /* mo0 */
362 #define DBG_RESET_N (1 << 3) /* c0 */
364 #define DBG_CLOCK_PIN (P1_4)
365 #define DBG_DATA_PIN (P1_5)
366 #define DBG_RESET_N_PIN (P1_3)
368 #define DBG_PORT_NUM 1
370 #define DBG_PORT_SEL P1SEL
371 #define DBG_PORT_INP P1INP
372 #define DBG_PORT_DIR P1DIR
374 #endif /* DBG_ON_P1 */
378 #define DBG_CLOCK (1 << 3)
379 #define DBG_DATA (1 << 4)
380 #define DBG_RESET_N (1 << 5)
382 #define DBG_CLOCK_PIN (P0_3)
383 #define DBG_DATA_PIN (P0_4)
384 #define DBG_RESET_N_PIN (P0_5)
386 #define DBG_PORT_NUM 0
388 #define DBG_PORT_SEL P0SEL
389 #define DBG_PORT_INP P0INP
390 #define DBG_PORT_DIR P0DIR
392 #endif /* DBG_ON_P0 */
394 #if COMPANION_CS_ON_P1
395 #define COMPANION_CS_PORT P1
396 #define COMPANION_CS_SEL P1SEL
397 #define COMPANION_CS_DIR P1DIR
401 #define SPI_CS_PORT P1
402 #define SPI_CS_SEL P1SEL
403 #define SPI_CS_DIR P1DIR
407 #define SPI_CS_PORT P0
408 #define SPI_CS_SEL P0SEL
409 #define SPI_CS_DIR P0DIR
413 #error Please define IGNITE_ON_P2
417 #error Please define IGNITE_ON_P0
421 #error Please define HAS_SERIAL_1
424 #ifndef USE_SERIAL_STDIN
425 #error Please define USE_SERIAL_STDIN
429 #error Please define HAS_ADC
433 #error Please define HAS_EEPROM
437 #error Please define HAS_LOG
441 #ifndef USE_INTERNAL_FLASH
442 #error Please define USE_INTERNAL_FLASH
447 #error Please define HAS_DBG
451 #error Please define HAS_IGNITE
455 #define HAS_IGNITE_REPORT 1
458 #ifndef PACKET_HAS_MASTER
459 #error Please define PACKET_HAS_MASTER
462 #ifndef PACKET_HAS_SLAVE
463 #error Please define PACKET_HAS_SLAVE
467 #error Please define HAS_MONITOR
472 #error Please define HAS_RSSI
477 #error Please define HAS_ADC
483 #ifndef HAS_ACCEL_REF
484 #error Please define HAS_ACCEL_REF
487 #define HAS_ACCEL_REF 0
493 #define AO_IGNITER_DROGUE P2_3
494 #define AO_IGNITER_MAIN P2_4
495 #define AO_IGNITER_DIR P2DIR
496 #define AO_IGNITER_DROGUE_BIT (1 << 3)
497 #define AO_IGNITER_MAIN_BIT (1 << 4)
501 #define AO_IGNITER_DROGUE P0_5
502 #define AO_IGNITER_MAIN P0_4
503 #define AO_IGNITER_DIR P0DIR
504 #define AO_IGNITER_DROGUE_BIT (1 << 5)
505 #define AO_IGNITER_MAIN_BIT (1 << 4)
508 /* test these values with real igniters */
509 #define AO_IGNITER_OPEN 1000
510 #define AO_IGNITER_CLOSED 7000
511 #define AO_IGNITER_FIRE_TIME AO_MS_TO_TICKS(50)
512 #define AO_IGNITER_CHARGE_TIME AO_MS_TO_TICKS(2000)
514 #endif /* _AO_PINS_H_ */