altos: Use TeleMetrum v1.9 board for MegaDongle experiments
authorKeith Packard <keithp@keithp.com>
Thu, 3 Jul 2014 05:46:07 +0000 (22:46 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 5 Jul 2014 07:38:09 +0000 (00:38 -0700)
This configures the MegaDongle v0.1 directory to use the pin
assignments in TeleMetrum v1.9 boards.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/kernel/ao.h
src/kernel/ao_monitor.c
src/kernel/ao_rssi.c
src/megadongle-v0.1/Makefile
src/megadongle-v0.1/ao_megadongle.c
src/megadongle-v0.1/ao_pins.h

index b8189e4356b76cee04e0cbbbcd67bf11930e9a53..1df2ea8bfe9ac0a843a275272cac876acdb40d2b 100644 (file)
@@ -757,11 +757,13 @@ extern __xdata uint8_t ao_force_freq;
  * ao_rssi.c
  */
 
+#ifdef AO_LED_TYPE
 void
-ao_rssi_set(int rssi_value);
+ao_rssi_set(int16_t rssi_value);
 
 void
 ao_rssi_init(AO_LED_TYPE rssi_led);
+#endif
 
 /*
  * ao_product.c
index 18f170b49912af18c707e2e8780a03db522f2419..2d75c41c2c786bf98d7c03c05e4a09f9a58b70a0 100644 (file)
@@ -115,6 +115,8 @@ ao_monitor_put(void)
 {
 #if LEGACY_MONITOR
        __xdata char callsign[AO_MAX_CALLSIGN+1];
+#endif
+#if LEGACY_MONITOR || HAS_RSSI
        int16_t rssi;
 #endif
        uint8_t ao_monitor_tail;
@@ -240,7 +242,7 @@ ao_monitor_put(void)
                        hex(sum);
                        putchar ('\n');
 #if HAS_RSSI
-                       if (recv_raw.packet[ao_monitoring + 1] & PKT_APPEND_STATUS_1_CRC_OK) {
+                       if (recv_raw.packet[ao_monitoring + 1] & AO_RADIO_STATUS_CRC_OK) {
                                rssi = AO_RSSI_FROM_RADIO(recv_raw.packet[ao_monitoring]);
                                ao_rssi_set(rssi);
                        }
index f8eeb2176349a5382730cddf93535295744faeb9..793b190b0430ebe47abf510be23e6cbc4c1b3a81 100644 (file)
@@ -33,7 +33,7 @@ ao_rssi(void)
 }
 
 void
-ao_rssi_set(int rssi_value)
+ao_rssi_set(int16_t rssi_value)
 {
        if (rssi_value > 0)
                rssi_value = 0;
index ade8e4964341f7d684f6efc3dc61e9f4d58de7f0..bbe2ea587e254bad422db666ddd49ef284601a04 100644 (file)
@@ -53,6 +53,7 @@ ALTOS_SRC = \
        ao_rssi.c \
        ao_send_packet.c \
        ao_packet_master.c \
+       ao_eeprom_stm.c \
        ao_packet.c
 
 PRODUCT=MegaDongle-v0.1
index 2792af22e4df9586ca893bef6c78faa2ab2e9352..68d6de60c9d979eec0bf072484772aa8d798e2a3 100644 (file)
@@ -24,7 +24,7 @@ int
 main(void)
 {
        ao_clock_init();
-       
+
 #if HAS_STACK_GUARD
        ao_mpu_init();
 #endif
@@ -48,7 +48,7 @@ main(void)
        ao_send_packet_init();
 
        ao_config_init();
-       
+
        ao_start_scheduler();
        return 0;
 }
index d460a49095b9a38fdd3fd93cb05cdbf122f91f37..9edd91f443047b2892bc4e9e26789249779d9d41 100644 (file)
@@ -15,6 +15,8 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
+/* Using TeleMetrum v1.9 board */
+
 #ifndef _AO_PINS_H_
 #define _AO_PINS_H_
 
@@ -46,7 +48,7 @@
 #define HAS_SERIAL_1           0
 #define USE_SERIAL_1_STDIN     0
 #define SERIAL_1_PB6_PB7       0
-#define SERIAL_1_PA9_PA10      1
+#define SERIAL_1_PA9_PA10      0
 
 #define HAS_SERIAL_2           0
 #define USE_SERIAL_2_STDIN     0
 #define HAS_SERIAL_3           0
 #define USE_SERIAL_3_STDIN     0
 #define SERIAL_3_PB10_PB11     0
-#define SERIAL_3_PC10_PC11     1
+#define SERIAL_3_PC10_PC11     0
 #define SERIAL_3_PD8_PD9       0
 
-#define ao_gps_getchar         ao_serial3_getchar
-#define ao_gps_putchar         ao_serial3_putchar
-#define ao_gps_set_speed       ao_serial3_set_speed
-
-#define HAS_EEPROM             0
-#define USE_INTERNAL_FLASH     0
+#define HAS_EEPROM             1
+#define USE_INTERNAL_FLASH     1
+#define USE_STORAGE_CONFIG     0
+#define USE_EEPROM_CONFIG      1
 #define HAS_USB                        1
 #define HAS_BEEP               0
 #define HAS_RADIO              1
 #define HAS_TELEMETRY          0
+#define HAS_RSSI               1
 
 #define HAS_SPI_1              0
 #define SPI_1_PA5_PA6_PA7      0       /* Barometer */
@@ -76,7 +77,7 @@
 #define SPI_1_PE13_PE14_PE15   0       /* Accelerometer */
 
 #define HAS_SPI_2              1
-#define SPI_2_PB13_PB14_PB15   1       /* Flash, Companion */
+#define SPI_2_PB13_PB14_PB15   1       /* Radio */
 #define SPI_2_PD1_PD3_PD4      0
 #define SPI_2_OSPEEDR          STM_OSPEEDR_10MHz
 
 #define SPI_2_MISO_PIN         14
 #define SPI_2_MOSI_PIN         15
 
-#define HAS_I2C_1              0
-#define I2C_1_PB8_PB9          1
-
-#define HAS_I2C_2              0
-#define I2C_2_PB10_PB11                1
-
 #define PACKET_HAS_SLAVE       0
 #define PACKET_HAS_MASTER      1
 
 #define LOW_LEVEL_DEBUG                0
 
-#define LED_PORT_0_ENABLE      STM_RCC_AHBENR_GPIOAEN
-#define LED_PORT_1_ENABLE      STM_RCC_AHBENR_GPIOBEN
-#define LED_PORT_0             (&stm_gpioa)
-#define LED_PORT_0_MASK                (0xff)
+#define LED_PORT_0_ENABLE      STM_RCC_AHBENR_GPIOCEN
+#define LED_PORT_0             (&stm_gpioc)
+#define LED_PORT_0_MASK                (0xffff)
 #define LED_PORT_0_SHIFT       0
-#define LED_PORT_1_MASK                (0xff00)
-#define LED_PORT_1_SHIFT       0
-#define LED_PORT_1             (&stm_gpiob)
-#define LED_PIN_RED            1
-#define LED_PIN_GREEN          12
+#define LED_PIN_RED            14
+#define LED_PIN_GREEN          15
 #define AO_LED_RED             (1 << LED_PIN_RED)
 #define AO_LED_GREEN           (1 << LED_PIN_GREEN)
 
 
 #define AO_FEC_DEBUG           0
 #define AO_CC1120_SPI_CS_PORT  (&stm_gpioa)
-#define AO_CC1120_SPI_CS_PIN   0
+#define AO_CC1120_SPI_CS_PIN   2
 #define AO_CC1120_SPI_BUS      AO_SPI_2_PB13_PB14_PB15
 #define AO_CC1120_SPI          stm_spi2
 
-#define AO_CC1120_INT_PORT     (&stm_gpioc)
-#define AO_CC1120_INT_PIN      13
+#define AO_CC1120_INT_PORT     (&stm_gpioa)
+#define AO_CC1120_INT_PIN      3
 
-#define AO_CC1120_MCU_WAKEUP_PORT      (&stm_gpioc)
-#define AO_CC1120_MCU_WAKEUP_PIN       (0)
+#define AO_CC1120_MCU_WAKEUP_PORT      (&stm_gpioa)
+#define AO_CC1120_MCU_WAKEUP_PIN       (4)
 
 #define AO_CC1120_INT_GPIO     2
 #define AO_CC1120_INT_GPIO_IOCFG       CC1120_IOCFG2