summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-07-02 22:46:07 -0700
committerKeith Packard <keithp@keithp.com>2014-07-05 00:38:09 -0700
commit657d455a2fad36193e6b3a7037d9ba7f09ae1168 (patch)
tree591389e1df26985c70dcc3b28cbd8eec81e9e92e /src
parent48508479b0f6f8d6e73db1cae8ee8acdaba022d8 (diff)
altos: Use TeleMetrum v1.9 board for MegaDongle experiments
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>
Diffstat (limited to 'src')
-rw-r--r--src/kernel/ao.h4
-rw-r--r--src/kernel/ao_monitor.c4
-rw-r--r--src/kernel/ao_rssi.c2
-rw-r--r--src/megadongle-v0.1/Makefile1
-rw-r--r--src/megadongle-v0.1/ao_megadongle.c4
-rw-r--r--src/megadongle-v0.1/ao_pins.h49
6 files changed, 30 insertions, 34 deletions
diff --git a/src/kernel/ao.h b/src/kernel/ao.h
index b8189e43..1df2ea8b 100644
--- a/src/kernel/ao.h
+++ b/src/kernel/ao.h
@@ -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
diff --git a/src/kernel/ao_monitor.c b/src/kernel/ao_monitor.c
index 18f170b4..2d75c41c 100644
--- a/src/kernel/ao_monitor.c
+++ b/src/kernel/ao_monitor.c
@@ -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);
}
diff --git a/src/kernel/ao_rssi.c b/src/kernel/ao_rssi.c
index f8eeb217..793b190b 100644
--- a/src/kernel/ao_rssi.c
+++ b/src/kernel/ao_rssi.c
@@ -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;
diff --git a/src/megadongle-v0.1/Makefile b/src/megadongle-v0.1/Makefile
index ade8e496..bbe2ea58 100644
--- a/src/megadongle-v0.1/Makefile
+++ b/src/megadongle-v0.1/Makefile
@@ -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
diff --git a/src/megadongle-v0.1/ao_megadongle.c b/src/megadongle-v0.1/ao_megadongle.c
index 2792af22..68d6de60 100644
--- a/src/megadongle-v0.1/ao_megadongle.c
+++ b/src/megadongle-v0.1/ao_megadongle.c
@@ -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;
}
diff --git a/src/megadongle-v0.1/ao_pins.h b/src/megadongle-v0.1/ao_pins.h
index d460a490..9edd91f4 100644
--- a/src/megadongle-v0.1/ao_pins.h
+++ b/src/megadongle-v0.1/ao_pins.h
@@ -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
@@ -56,19 +58,18 @@
#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
@@ -85,27 +86,17 @@
#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)
@@ -134,15 +125,15 @@
#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