summaryrefslogtreecommitdiff
path: root/src/kernel
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2018-08-15 17:47:37 -0700
committerKeith Packard <keithp@keithp.com>2018-10-13 08:22:50 -0700
commitc6e57291d91f1f6c4de5c54a5cfd3eef66d9f830 (patch)
tree1fb7753fad10c6897906baec11d2f5756a9bb866 /src/kernel
parent6023ff81f1bbd240169b9548209133d3b02d475f (diff)
altos: Remove 8051 address space specifiers
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/ao.h94
-rw-r--r--src/kernel/ao_aes.h8
-rw-r--r--src/kernel/ao_balloon.c10
-rw-r--r--src/kernel/ao_beep.h2
-rw-r--r--src/kernel/ao_cmd.c46
-rw-r--r--src/kernel/ao_companion.h10
-rw-r--r--src/kernel/ao_config.c94
-rw-r--r--src/kernel/ao_config.h8
-rw-r--r--src/kernel/ao_convert.c6
-rw-r--r--src/kernel/ao_data.c8
-rw-r--r--src/kernel/ao_data.h10
-rw-r--r--src/kernel/ao_ee_fake.c4
-rw-r--r--src/kernel/ao_eeprom.h4
-rw-r--r--src/kernel/ao_flight.c24
-rw-r--r--src/kernel/ao_flight.h14
-rw-r--r--src/kernel/ao_flight_nano.c14
-rw-r--r--src/kernel/ao_forward.c6
-rw-r--r--src/kernel/ao_forward.h2
-rw-r--r--src/kernel/ao_freq.c8
-rw-r--r--src/kernel/ao_gps_print.c6
-rw-r--r--src/kernel/ao_gps_report.c8
-rw-r--r--src/kernel/ao_gps_report_mega.c8
-rw-r--r--src/kernel/ao_gps_report_metrum.c8
-rw-r--r--src/kernel/ao_gps_show.c2
-rw-r--r--src/kernel/ao_host.h6
-rw-r--r--src/kernel/ao_ignite.c18
-rw-r--r--src/kernel/ao_int64.c16
-rw-r--r--src/kernel/ao_int64.h16
-rw-r--r--src/kernel/ao_kalman.c24
-rw-r--r--src/kernel/ao_led.h2
-rw-r--r--src/kernel/ao_log.c40
-rw-r--r--src/kernel/ao_log.h20
-rw-r--r--src/kernel/ao_log_big.c4
-rw-r--r--src/kernel/ao_log_fireone.c12
-rw-r--r--src/kernel/ao_log_mega.c4
-rw-r--r--src/kernel/ao_log_metrum.c4
-rw-r--r--src/kernel/ao_log_mini.c4
-rw-r--r--src/kernel/ao_log_single.c18
-rw-r--r--src/kernel/ao_log_telem.c12
-rw-r--r--src/kernel/ao_log_telescience.c6
-rw-r--r--src/kernel/ao_log_tiny.c8
-rw-r--r--src/kernel/ao_monitor.c28
-rw-r--r--src/kernel/ao_mutex.c6
-rw-r--r--src/kernel/ao_notask.c4
-rw-r--r--src/kernel/ao_notask.h4
-rw-r--r--src/kernel/ao_packet.h18
-rw-r--r--src/kernel/ao_pyro.c6
-rw-r--r--src/kernel/ao_radio_cmac.c14
-rw-r--r--src/kernel/ao_radio_cmac.h6
-rw-r--r--src/kernel/ao_radio_cmac_cmd.c8
-rw-r--r--src/kernel/ao_report.c16
-rw-r--r--src/kernel/ao_report_micro.c8
-rw-r--r--src/kernel/ao_rssi.c8
-rw-r--r--src/kernel/ao_sample.c74
-rw-r--r--src/kernel/ao_sample.h70
-rw-r--r--src/kernel/ao_sample_profile.c2
-rw-r--r--src/kernel/ao_send_packet.c8
-rw-r--r--src/kernel/ao_serial.h16
-rw-r--r--src/kernel/ao_stdio.c14
-rw-r--r--src/kernel/ao_storage.c24
-rw-r--r--src/kernel/ao_storage.h24
-rw-r--r--src/kernel/ao_task.c24
-rw-r--r--src/kernel/ao_task.h20
-rw-r--r--src/kernel/ao_telemetry.c54
-rw-r--r--src/kernel/ao_usb.h6
65 files changed, 538 insertions, 542 deletions
diff --git a/src/kernel/ao.h b/src/kernel/ao.h
index 520f6ef2..fd1d1276 100644
--- a/src/kernel/ao.h
+++ b/src/kernel/ao.h
@@ -92,7 +92,7 @@ ao_panic(uint8_t reason);
#define AO_TICK_SIGNED int16_t
#endif
-extern volatile __data AO_TICK_TYPE ao_tick_count;
+extern volatile AO_TICK_TYPE ao_tick_count;
/* Our timer runs at 100Hz */
#ifndef AO_HERTZ
@@ -141,13 +141,13 @@ ao_clock_resume(void);
#ifndef ao_mutex_get
uint8_t
-ao_mutex_try(__xdata uint8_t *ao_mutex, uint8_t task_id) __reentrant;
+ao_mutex_try(uint8_t *ao_mutex, uint8_t task_id);
void
-ao_mutex_get(__xdata uint8_t *ao_mutex) __reentrant;
+ao_mutex_get(uint8_t *ao_mutex);
void
-ao_mutex_put(__xdata uint8_t *ao_mutex) __reentrant;
+ao_mutex_put(uint8_t *ao_mutex);
#endif
/*
@@ -160,13 +160,13 @@ enum ao_cmd_status {
ao_cmd_syntax_error = 2,
};
-extern __pdata uint16_t ao_cmd_lex_i;
-extern __pdata uint32_t ao_cmd_lex_u32;
-extern __pdata char ao_cmd_lex_c;
-extern __pdata enum ao_cmd_status ao_cmd_status;
+extern uint16_t ao_cmd_lex_i;
+extern uint32_t ao_cmd_lex_u32;
+extern char ao_cmd_lex_c;
+extern enum ao_cmd_status ao_cmd_status;
void
-ao_put_string(__code char *s);
+ao_put_string(const char *s);
void
ao_cmd_readline(void);
@@ -196,22 +196,22 @@ void
ao_cmd_hex(void);
void
-ao_cmd_decimal(void) __reentrant;
+ao_cmd_decimal(void);
/* Read a single hex nibble off stdin. */
uint8_t
ao_getnibble(void);
uint8_t
-ao_match_word(__code char *word);
+ao_match_word(const char *word);
struct ao_cmds {
void (*func)(void);
- __code char *help;
+ const char *help;
};
void
-ao_cmd_register(const __code struct ao_cmds *cmds);
+ao_cmd_register(const struct ao_cmds *cmds);
void
ao_cmd_init(void);
@@ -295,13 +295,13 @@ ao_report_init(void);
#if HAS_BARO
/* pressure from the sensor to altitude in meters */
alt_t
-ao_pres_to_altitude(pres_t pres) __reentrant;
+ao_pres_to_altitude(pres_t pres);
pres_t
-ao_altitude_to_pres(alt_t alt) __reentrant;
+ao_altitude_to_pres(alt_t alt);
int16_t
-ao_temp_to_dC(int16_t temp) __reentrant;
+ao_temp_to_dC(int16_t temp);
#endif
/*
@@ -377,11 +377,11 @@ ao_spi_slave(void);
#define AO_GPS_NEW_DATA 1
#define AO_GPS_NEW_TRACKING 2
-extern __xdata uint8_t ao_gps_new;
-extern __pdata uint16_t ao_gps_tick;
-extern __xdata uint8_t ao_gps_mutex;
-extern __xdata struct ao_telemetry_location ao_gps_data;
-extern __xdata struct ao_telemetry_satellite ao_gps_tracking_data;
+extern uint8_t ao_gps_new;
+extern uint16_t ao_gps_tick;
+extern uint8_t ao_gps_mutex;
+extern struct ao_telemetry_location ao_gps_data;
+extern struct ao_telemetry_satellite ao_gps_tracking_data;
struct ao_gps_orig {
uint8_t year;
@@ -421,13 +421,13 @@ void
ao_gps(void);
void
-ao_gps_print(__xdata struct ao_gps_orig *gps_data);
+ao_gps_print(struct ao_gps_orig *gps_data);
void
-ao_gps_tracking_print(__xdata struct ao_gps_tracking_orig *gps_tracking_data);
+ao_gps_tracking_print(struct ao_gps_tracking_orig *gps_tracking_data);
void
-ao_gps_show(void) __reentrant;
+ao_gps_show(void);
void
ao_gps_init(void);
@@ -558,9 +558,9 @@ ao_telemetry_tiny_init(void);
* ao_radio.c
*/
-extern __xdata uint8_t ao_radio_dma;
+extern uint8_t ao_radio_dma;
-extern __xdata int8_t ao_radio_rssi;
+extern int8_t ao_radio_rssi;
#ifdef PKT_APPEND_STATUS_1_CRC_OK
#define AO_RADIO_STATUS_CRC_OK PKT_APPEND_STATUS_1_CRC_OK
@@ -590,12 +590,12 @@ ao_radio_general_isr(void) ao_arch_interrupt(16);
#if HAS_RADIO_XMIT
void
-ao_radio_send(const __xdata void *d, uint8_t size) __reentrant;
+ao_radio_send(const void *d, uint8_t size);
#endif
#if HAS_RADIO_RECV
uint8_t
-ao_radio_recv(__xdata void *d, uint8_t size, uint8_t timeout) __reentrant;
+ao_radio_recv(void *d, uint8_t size, uint8_t timeout);
void
ao_radio_recv_abort(void);
@@ -673,14 +673,14 @@ union ao_monitor {
#endif
};
-extern __xdata union ao_monitor ao_monitor_ring[AO_MONITOR_RING];
+extern union ao_monitor ao_monitor_ring[AO_MONITOR_RING];
#define ao_monitor_ring_next(n) (((n) + 1) & (AO_MONITOR_RING - 1))
#define ao_monitor_ring_prev(n) (((n) - 1) & (AO_MONITOR_RING - 1))
-extern __xdata uint8_t ao_monitoring_mutex;
-extern __data uint8_t ao_monitoring;
-extern __data uint8_t ao_monitor_head;
+extern uint8_t ao_monitoring_mutex;
+extern uint8_t ao_monitoring;
+extern uint8_t ao_monitor_head;
void
ao_monitor(void);
@@ -698,7 +698,7 @@ void
ao_monitor_enable(void);
void
-ao_monitor_init(void) __reentrant;
+ao_monitor_init(void);
#endif
@@ -710,27 +710,27 @@ ao_monitor_init(void) __reentrant;
struct ao_stdio {
int (*_pollchar)(void); /* Called with interrupts blocked */
- void (*putchar)(char c) __reentrant;
+ void (*putchar)(char c);
void (*flush)(void);
uint8_t echo;
};
-extern __xdata struct ao_stdio ao_stdios[];
-extern __pdata int8_t ao_cur_stdio;
-extern __pdata int8_t ao_num_stdios;
+extern struct ao_stdio ao_stdios[];
+extern int8_t ao_cur_stdio;
+extern int8_t ao_num_stdios;
void
flush(void);
-extern __xdata uint8_t ao_stdin_ready;
+extern uint8_t ao_stdin_ready;
uint8_t
ao_echo(void);
int8_t
ao_add_stdio(int (*pollchar)(void),
- void (*putchar)(char) __reentrant,
- void (*flush)(void)) __reentrant;
+ void (*putchar)(char) ,
+ void (*flush)(void));
/*
* ao_ignite.c
@@ -757,14 +757,14 @@ struct ao_ignition {
uint8_t firing;
};
-extern __code char * __code ao_igniter_status_names[];
+extern const char * const ao_igniter_status_names[];
-extern __xdata struct ao_ignition ao_ignition[2];
+extern struct ao_ignition ao_ignition[2];
enum ao_igniter_status
ao_igniter_status(enum ao_igniter igniter);
-extern __pdata uint8_t ao_igniter_present;
+extern uint8_t ao_igniter_present;
void
ao_ignite_set_pins(void);
@@ -785,7 +785,7 @@ ao_igniter_init(void);
/*
* Set this to force the frequency to 434.550MHz
*/
-extern __xdata uint8_t ao_force_freq;
+extern uint8_t ao_force_freq;
#endif
/*
@@ -885,8 +885,8 @@ union ao_log_single {
uint8_t bytes[AO_LOG_SINGLE_SIZE];
};
-extern __xdata union ao_log_single ao_log_single_write_data;
-extern __xdata union ao_log_single ao_log_single_read_data;
+extern union ao_log_single ao_log_single_write_data;
+extern union ao_log_single ao_log_single_read_data;
void
ao_log_single_extra_query(void);
@@ -969,7 +969,7 @@ ao_sqrt(uint32_t op);
* ao_freq.c
*/
-int32_t ao_freq_to_set(int32_t freq, int32_t cal) __reentrant;
+int32_t ao_freq_to_set(int32_t freq, int32_t cal);
/*
* ao_ms5607.c
diff --git a/src/kernel/ao_aes.h b/src/kernel/ao_aes.h
index 5ae98424..f41b2e87 100644
--- a/src/kernel/ao_aes.h
+++ b/src/kernel/ao_aes.h
@@ -21,7 +21,7 @@
/* ao_aes.c */
-extern __xdata uint8_t ao_aes_mutex;
+extern uint8_t ao_aes_mutex;
/* AES keys and blocks are 128 bits */
@@ -40,14 +40,14 @@ void
ao_aes_set_mode(enum ao_aes_mode mode);
void
-ao_aes_set_key(__xdata uint8_t *in);
+ao_aes_set_key(uint8_t *in);
void
ao_aes_zero_iv(void);
void
-ao_aes_run(__xdata uint8_t *in,
- __xdata uint8_t *out);
+ao_aes_run(uint8_t *in,
+ uint8_t *out);
void
ao_aes_init(void);
diff --git a/src/kernel/ao_balloon.c b/src/kernel/ao_balloon.c
index d0f80a5d..a5be8c16 100644
--- a/src/kernel/ao_balloon.c
+++ b/src/kernel/ao_balloon.c
@@ -34,16 +34,16 @@
#if HAS_SENSOR_ERRORS
/* Any sensor can set this to mark the flight computer as 'broken' */
-__xdata uint8_t ao_sensor_errors;
+uint8_t ao_sensor_errors;
#endif
-__pdata uint16_t ao_motor_number; /* number of motors burned so far */
+uint16_t ao_motor_number; /* number of motors burned so far */
/* Main flight thread. */
-__pdata enum ao_flight_state ao_flight_state; /* current flight state */
+enum ao_flight_state ao_flight_state; /* current flight state */
-__pdata uint8_t ao_flight_force_idle;
+uint8_t ao_flight_force_idle;
void
ao_flight(void)
@@ -127,7 +127,7 @@ ao_flight(void)
}
}
-static __xdata struct ao_task flight_task;
+static struct ao_task flight_task;
void
ao_flight_init(void)
diff --git a/src/kernel/ao_beep.h b/src/kernel/ao_beep.h
index 1306af62..fdc150f1 100644
--- a/src/kernel/ao_beep.h
+++ b/src/kernel/ao_beep.h
@@ -85,7 +85,7 @@ ao_beep(uint8_t beep);
/* Turn on the beeper for the specified time */
void
-ao_beep_for(uint8_t beep, uint16_t ticks) __reentrant;
+ao_beep_for(uint8_t beep, uint16_t ticks);
/* Initialize the beeper */
void
diff --git a/src/kernel/ao_cmd.c b/src/kernel/ao_cmd.c
index 7bb4654e..d28db5b7 100644
--- a/src/kernel/ao_cmd.c
+++ b/src/kernel/ao_cmd.c
@@ -19,10 +19,10 @@
#include "ao.h"
#include "ao_task.h"
-__pdata uint16_t ao_cmd_lex_i;
-__pdata uint32_t ao_cmd_lex_u32;
-__pdata char ao_cmd_lex_c;
-__pdata enum ao_cmd_status ao_cmd_status;
+uint16_t ao_cmd_lex_i;
+uint32_t ao_cmd_lex_u32;
+char ao_cmd_lex_c;
+enum ao_cmd_status ao_cmd_status;
#ifndef AO_CMD_LEN
#if AO_PYRO_NUM
@@ -32,12 +32,12 @@ __pdata enum ao_cmd_status ao_cmd_status;
#endif
#endif
-static __xdata char cmd_line[AO_CMD_LEN];
-static __pdata uint8_t cmd_len;
-static __pdata uint8_t cmd_i;
+static char cmd_line[AO_CMD_LEN];
+static uint8_t cmd_len;
+static uint8_t cmd_i;
void
-ao_put_string(__code char *s)
+ao_put_string(const char *s)
{
char c;
while ((c = *s++))
@@ -196,7 +196,7 @@ ao_cmd_hexbyte(void)
void
ao_cmd_hex(void)
{
- __pdata uint8_t r = ao_cmd_lex_error;
+ uint8_t r = ao_cmd_lex_error;
int8_t n;
ao_cmd_lex_i = 0;
@@ -214,7 +214,7 @@ ao_cmd_hex(void)
}
void
-ao_cmd_decimal(void) __reentrant
+ao_cmd_decimal(void)
{
uint8_t r = ao_cmd_lex_error;
@@ -234,7 +234,7 @@ ao_cmd_decimal(void) __reentrant
}
uint8_t
-ao_match_word(__code char *word)
+ao_match_word(const char *word)
{
while (*word) {
if (ao_cmd_lex_c != *word) {
@@ -321,16 +321,16 @@ version(void)
#define NUM_CMDS 11
#endif
-static __code struct ao_cmds *__xdata (ao_cmds[NUM_CMDS]);
-static __pdata uint8_t ao_ncmds;
+static const struct ao_cmds *(ao_cmds[NUM_CMDS]);
+static uint8_t ao_ncmds;
static void
help(void)
{
- __pdata uint8_t cmds;
- __pdata uint8_t cmd;
- __code struct ao_cmds * __pdata cs;
- __code const char *h;
+ uint8_t cmds;
+ uint8_t cmd;
+ const struct ao_cmds * cs;
+ const char *h;
uint8_t e;
for (cmds = 0; cmds < ao_ncmds; cmds++) {
@@ -363,7 +363,7 @@ report(void)
}
void
-ao_cmd_register(__code struct ao_cmds *cmds)
+ao_cmd_register(const struct ao_cmds *cmds)
{
if (ao_ncmds >= NUM_CMDS)
ao_panic(AO_PANIC_CMD);
@@ -373,10 +373,10 @@ ao_cmd_register(__code struct ao_cmds *cmds)
void
ao_cmd(void)
{
- __pdata char c;
+ char c;
uint8_t cmd, cmds;
- __code struct ao_cmds * __xdata cs;
- void (*__xdata func)(void);
+ const struct ao_cmds * cs;
+ void (*func)(void);
for (;;) {
ao_cmd_readline();
@@ -424,10 +424,10 @@ ao_loader(void)
#endif
#if HAS_TASK
-__xdata struct ao_task ao_cmd_task;
+struct ao_task ao_cmd_task;
#endif
-__code struct ao_cmds ao_base_cmds[] = {
+const struct ao_cmds ao_base_cmds[] = {
{ help, "?\0Help" },
#if HAS_TASK_INFO && HAS_TASK
{ ao_task_info, "T\0Tasks" },
diff --git a/src/kernel/ao_companion.h b/src/kernel/ao_companion.h
index 4c161455..bd702fe3 100644
--- a/src/kernel/ao_companion.h
+++ b/src/kernel/ao_companion.h
@@ -44,11 +44,11 @@ struct ao_companion_setup {
uint8_t channels;
};
-extern __pdata uint8_t ao_companion_running;
-extern __xdata uint8_t ao_companion_mutex;
-extern __xdata struct ao_companion_command ao_companion_command;
-extern __xdata struct ao_companion_setup ao_companion_setup;
-extern __xdata uint16_t ao_companion_data[AO_COMPANION_MAX_CHANNELS];
+extern uint8_t ao_companion_running;
+extern uint8_t ao_companion_mutex;
+extern struct ao_companion_command ao_companion_command;
+extern struct ao_companion_setup ao_companion_setup;
+extern uint16_t ao_companion_data[AO_COMPANION_MAX_CHANNELS];
void
ao_companion_init(void);
diff --git a/src/kernel/ao_config.c b/src/kernel/ao_config.c
index 10a67116..277dddd9 100644
--- a/src/kernel/ao_config.c
+++ b/src/kernel/ao_config.c
@@ -30,13 +30,13 @@
#include <ao_tracker.h>
#endif
-__xdata struct ao_config ao_config;
-__pdata uint8_t ao_config_loaded;
-__pdata uint8_t ao_config_dirty;
-__xdata uint8_t ao_config_mutex;
+struct ao_config ao_config;
+uint8_t ao_config_loaded;
+uint8_t ao_config_dirty;
+uint8_t ao_config_mutex;
#if HAS_FORCE_FREQ
-__xdata uint8_t ao_force_freq;
+uint8_t ao_force_freq;
#endif
#ifndef AO_CONFIG_DEFAULT_APRS_INTERVAL
@@ -100,7 +100,7 @@ ao_config_put(void)
#if HAS_RADIO
#if HAS_RADIO_FORWARD
-__xdata uint32_t ao_send_radio_setting;
+uint32_t ao_send_radio_setting;
#endif
void
@@ -283,10 +283,10 @@ ao_config_callsign_show(void)
}
void
-ao_config_callsign_set(void) __reentrant
+ao_config_callsign_set(void)
{
uint8_t c;
- static __xdata char callsign[AO_MAX_CALLSIGN + 1];
+ static char callsign[AO_MAX_CALLSIGN + 1];
ao_xmemset(callsign, '\0', sizeof callsign);
ao_cmd_white();
@@ -309,14 +309,14 @@ ao_config_callsign_set(void) __reentrant
#if HAS_RADIO
void
-ao_config_frequency_show(void) __reentrant
+ao_config_frequency_show(void)
{
printf("Frequency: %ld\n",
ao_config.frequency);
}
void
-ao_config_frequency_set(void) __reentrant
+ao_config_frequency_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -334,14 +334,14 @@ ao_config_frequency_set(void) __reentrant
#if HAS_RADIO_FORWARD
void
-ao_config_send_frequency_show(void) __reentrant
+ao_config_send_frequency_show(void)
{
printf("Send frequency: %ld\n",
ao_config.send_frequency);
}
void
-ao_config_send_frequency_set(void) __reentrant
+ao_config_send_frequency_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -360,14 +360,14 @@ ao_config_send_frequency_set(void) __reentrant
#if HAS_FLIGHT
void
-ao_config_main_deploy_show(void) __reentrant
+ao_config_main_deploy_show(void)
{
printf("Main deploy: %d meters\n",
ao_config.main_deploy);
}
void
-ao_config_main_deploy_set(void) __reentrant
+ao_config_main_deploy_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -379,7 +379,7 @@ ao_config_main_deploy_set(void) __reentrant
#if HAS_ACCEL
void
-ao_config_accel_calibrate_show(void) __reentrant
+ao_config_accel_calibrate_show(void)
{
printf("Accel cal +1g: %d -1g: %d\n",
ao_config.accel_plus_g, ao_config.accel_minus_g);
@@ -401,7 +401,7 @@ static int16_t accel_cal_through;
#endif
static int16_t
-ao_config_accel_calibrate_auto(char *orientation) __reentrant
+ao_config_accel_calibrate_auto(char *orientation)
{
uint16_t i;
int32_t accel_total;
@@ -442,7 +442,7 @@ ao_config_accel_calibrate_auto(char *orientation) __reentrant
}
void
-ao_config_accel_calibrate_set(void) __reentrant
+ao_config_accel_calibrate_set(void)
{
int16_t up, down;
#if HAS_GYRO
@@ -494,14 +494,14 @@ ao_config_accel_calibrate_set(void) __reentrant
#endif /* HAS_ACCEL */
void
-ao_config_apogee_delay_show(void) __reentrant
+ao_config_apogee_delay_show(void)
{
printf("Apogee delay: %d seconds\n",
ao_config.apogee_delay);
}
void
-ao_config_apogee_delay_set(void) __reentrant
+ao_config_apogee_delay_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -512,14 +512,14 @@ ao_config_apogee_delay_set(void) __reentrant
}
void
-ao_config_apogee_lockout_show(void) __reentrant
+ao_config_apogee_lockout_show(void)
{
printf ("Apogee lockout: %d seconds\n",
ao_config.apogee_lockout);
}
void
-ao_config_apogee_lockout_set(void) __reentrant
+ao_config_apogee_lockout_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -533,13 +533,13 @@ ao_config_apogee_lockout_set(void) __reentrant
#if HAS_RADIO
void
-ao_config_radio_cal_show(void) __reentrant
+ao_config_radio_cal_show(void)
{
printf("Radio cal: %ld\n", ao_config.radio_cal);
}
void
-ao_config_radio_cal_set(void) __reentrant
+ao_config_radio_cal_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -558,13 +558,13 @@ ao_config_radio_cal_set(void) __reentrant
#endif
void
-ao_config_radio_rate_show(void) __reentrant
+ao_config_radio_rate_show(void)
{
printf("Telemetry rate: %d\n", ao_config.radio_rate);
}
void
-ao_config_radio_rate_set(void) __reentrant
+ao_config_radio_rate_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -588,7 +588,7 @@ ao_config_radio_rate_set(void) __reentrant
#if HAS_LOG
void
-ao_config_log_show(void) __reentrant
+ao_config_log_show(void)
{
printf("Max flight log: %d kB\n", (int16_t) (ao_config.flight_log_max >> 10));
#if FLIGHT_LOG_APPEND
@@ -611,7 +611,7 @@ ao_config_log_fix_append(void)
#endif
void
-ao_config_log_set(void) __reentrant
+ao_config_log_set(void)
{
#if FLIGHT_LOG_APPEND
printf("Flight log fixed size %d kB\n", ao_storage_log_max >> 10);
@@ -639,13 +639,13 @@ ao_config_log_set(void) __reentrant
#if HAS_IGNITE
void
-ao_config_ignite_mode_show(void) __reentrant
+ao_config_ignite_mode_show(void)
{
printf("Ignite mode: %d\n", ao_config.ignite_mode);
}
void
-ao_config_ignite_mode_set(void) __reentrant
+ao_config_ignite_mode_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -658,7 +658,7 @@ ao_config_ignite_mode_set(void) __reentrant
#if HAS_ACCEL
void
-ao_config_pad_orientation_show(void) __reentrant
+ao_config_pad_orientation_show(void)
{
printf("Pad orientation: %d\n", ao_config.pad_orientation);
}
@@ -668,7 +668,7 @@ ao_config_pad_orientation_show(void) __reentrant
#endif
void
-ao_config_pad_orientation_set(void) __reentrant
+ao_config_pad_orientation_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -688,13 +688,13 @@ ao_config_pad_orientation_set(void) __reentrant
#if HAS_RADIO
void
-ao_config_radio_enable_show(void) __reentrant
+ao_config_radio_enable_show(void)
{
printf("Radio enable: %d\n", ao_config.radio_enable);
}
void
-ao_config_radio_enable_set(void) __reentrant
+ao_config_radio_enable_set(void)
{
ao_cmd_decimal();
if (ao_cmd_status != ao_cmd_success)
@@ -710,10 +710,10 @@ ao_config_radio_enable_set(void) __reentrant
#if HAS_AES
-__xdata uint8_t ao_config_aes_seq = 1;
+uint8_t ao_config_aes_seq = 1;
void
-ao_config_key_show(void) __reentrant
+ao_config_key_show(void)
{
uint8_t i;
printf("AES key: ");
@@ -723,7 +723,7 @@ ao_config_key_show(void) __reentrant
}
void
-ao_config_key_set(void) __reentrant
+ao_config_key_set(void)
{
uint8_t i;
@@ -950,23 +950,23 @@ ao_config_pad_idle_set(void)
#endif
struct ao_config_var {
- __code char *str;
- void (*set)(void) __reentrant;
- void (*show)(void) __reentrant;
+ const char *str;
+ void (*set)(void);
+ void (*show)(void);
};
static void
-ao_config_help(void) __reentrant;
+ao_config_help(void);
static void
-ao_config_show(void) __reentrant;
+ao_config_show(void);
#if HAS_EEPROM
static void
-ao_config_save(void) __reentrant;
+ao_config_save(void);
#endif
-__code struct ao_config_var ao_config_vars[] = {
+const struct ao_config_var ao_config_vars[] = {
#if HAS_FLIGHT
{ "m <meters>\0Main deploy (m)",
ao_config_main_deploy_set, ao_config_main_deploy_show, },
@@ -1078,7 +1078,7 @@ ao_config_set(void)
}
static void
-ao_config_help(void) __reentrant
+ao_config_help(void)
{
uint8_t cmd;
for (cmd = 0; ao_config_vars[cmd].str != NULL; cmd++)
@@ -1089,7 +1089,7 @@ ao_config_help(void) __reentrant
}
static void
-ao_config_show(void) __reentrant
+ao_config_show(void)
{
uint8_t cmd;
ao_config_get();
@@ -1105,7 +1105,7 @@ ao_config_show(void) __reentrant
#if HAS_EEPROM
static void
-ao_config_save(void) __reentrant
+ao_config_save(void)
{
uint8_t saved = 0;
ao_mutex_get(&ao_config_mutex);
@@ -1122,7 +1122,7 @@ ao_config_save(void) __reentrant
}
#endif
-__code struct ao_cmds ao_config_cmds[] = {
+const struct ao_cmds ao_config_cmds[] = {
{ ao_config_set, "c <var> <value>\0Set config (? for help, s to show)" },
{ 0, NULL },
};
diff --git a/src/kernel/ao_config.h b/src/kernel/ao_config.h
index f730c73c..41aafcca 100644
--- a/src/kernel/ao_config.h
+++ b/src/kernel/ao_config.h
@@ -62,7 +62,7 @@
#define AO_AES_LEN 16
-extern __xdata uint8_t ao_config_aes_seq;
+extern uint8_t ao_config_aes_seq;
struct ao_config {
uint8_t major;
@@ -130,7 +130,7 @@ struct ao_config {
#define AO_CONFIG_DEFAULT_APRS_FORMAT AO_APRS_FORMAT_COMPRESSED
#if HAS_RADIO_FORWARD
-extern __xdata uint32_t ao_send_radio_setting;
+extern uint32_t ao_send_radio_setting;
#endif
#define AO_IGNITE_MODE_DUAL 0
@@ -151,8 +151,8 @@ extern __xdata uint32_t ao_send_radio_setting;
/* Make sure AO_CONFIG_MAX_SIZE is big enough */
typedef uint8_t config_check_space[(int) (AO_CONFIG_MAX_SIZE - sizeof (struct ao_config))];
-extern __xdata struct ao_config ao_config;
-extern __pdata uint8_t ao_config_loaded;
+extern struct ao_config ao_config;
+extern uint8_t ao_config_loaded;
void
_ao_config_edit_start(void);
diff --git a/src/kernel/ao_convert.c b/src/kernel/ao_convert.c
index 1cd62345..f3e523ec 100644
--- a/src/kernel/ao_convert.c
+++ b/src/kernel/ao_convert.c
@@ -30,7 +30,7 @@ static const ao_v_t altitude_table[] = {
#define ALT_FRAC_MASK (ALT_FRAC_SCALE - 1)
ao_v_t
-ao_pres_to_altitude(int16_t pres) __reentrant
+ao_pres_to_altitude(int16_t pres)
{
uint8_t o;
int16_t part;
@@ -46,7 +46,7 @@ ao_pres_to_altitude(int16_t pres) __reentrant
#if AO_NEED_ALTITUDE_TO_PRES
int16_t
-ao_altitude_to_pres(ao_v_t alt) __reentrant
+ao_altitude_to_pres(ao_v_t alt)
{
ao_v_t span, sub_span;
uint8_t l, h, m;
@@ -74,7 +74,7 @@ ao_altitude_to_pres(ao_v_t alt) __reentrant
#if 0
int16_t
-ao_temp_to_dC(int16_t temp) __reentrant
+ao_temp_to_dC(int16_t temp)
{
int16_t ret;
diff --git a/src/kernel/ao_data.c b/src/kernel/ao_data.c
index 35d42b8f..536ffa2b 100644
--- a/src/kernel/ao_data.c
+++ b/src/kernel/ao_data.c
@@ -19,13 +19,13 @@
#include <ao.h>
#include <ao_data.h>
-volatile __xdata struct ao_data ao_data_ring[AO_DATA_RING];
-volatile __data uint8_t ao_data_head;
-volatile __data uint8_t ao_data_present;
+volatile struct ao_data ao_data_ring[AO_DATA_RING];
+volatile uint8_t ao_data_head;
+volatile uint8_t ao_data_present;
#ifndef ao_data_count
void
-ao_data_get(__xdata struct ao_data *packet)
+ao_data_get(struct ao_data *packet)
{
#if HAS_FLIGHT
uint8_t i = ao_data_ring_prev(ao_sample_data);
diff --git a/src/kernel/ao_data.h b/src/kernel/ao_data.h
index 30616ef0..f88b30c9 100644
--- a/src/kernel/ao_data.h
+++ b/src/kernel/ao_data.h
@@ -97,12 +97,12 @@ struct ao_data {
/* Get a copy of the last complete sample set */
void
-ao_data_get(__xdata struct ao_data *packet);
+ao_data_get(struct ao_data *packet);
-extern volatile __xdata struct ao_data ao_data_ring[AO_DATA_RING];
-extern volatile __data uint8_t ao_data_head;
-extern volatile __data uint8_t ao_data_present;
-extern volatile __data uint8_t ao_data_count;
+extern volatile struct ao_data ao_data_ring[AO_DATA_RING];
+extern volatile uint8_t ao_data_head;
+extern volatile uint8_t ao_data_present;
+extern volatile uint8_t ao_data_count;
/*
* Mark a section of data as ready, check for data complete
diff --git a/src/kernel/ao_ee_fake.c b/src/kernel/ao_ee_fake.c
index 84c13000..cef0a438 100644
--- a/src/kernel/ao_ee_fake.c
+++ b/src/kernel/ao_ee_fake.c
@@ -23,7 +23,7 @@
* wants to call these functions
*/
uint8_t
-ao_ee_write_config(uint8_t *buf, uint16_t len) __reentrant
+ao_ee_write_config(uint8_t *buf, uint16_t len)
{
(void) buf;
(void) len;
@@ -31,7 +31,7 @@ ao_ee_write_config(uint8_t *buf, uint16_t len) __reentrant
}
uint8_t
-ao_ee_read_config(uint8_t *buf, uint16_t len) __reentrant
+ao_ee_read_config(uint8_t *buf, uint16_t len)
{
ao_xmemset(buf, '\0', len);
return 1;
diff --git a/src/kernel/ao_eeprom.h b/src/kernel/ao_eeprom.h
index bd8b6725..f258c48c 100644
--- a/src/kernel/ao_eeprom.h
+++ b/src/kernel/ao_eeprom.h
@@ -26,13 +26,13 @@ extern const ao_pos_t ao_eeprom_total;
*/
uint8_t
-ao_eeprom_write(ao_pos_t pos32, __xdata void *v, uint16_t len);
+ao_eeprom_write(ao_pos_t pos32, void *v, uint16_t len);
/*
* Read from eeprom
*/
uint8_t
-ao_eeprom_read(ao_pos_t pos, __xdata void *v, uint16_t len);
+ao_eeprom_read(ao_pos_t pos, void *v, uint16_t len);
/*
* Initialize eeprom
diff --git a/src/kernel/ao_flight.c b/src/kernel/ao_flight.c
index 170396ff..f72efa06 100644
--- a/src/kernel/ao_flight.c
+++ b/src/kernel/ao_flight.c
@@ -47,28 +47,28 @@
/* Main flight thread. */
-__pdata enum ao_flight_state ao_flight_state; /* current flight state */
-__pdata uint16_t ao_boost_tick; /* time of most recent boost detect */
-__pdata uint16_t ao_launch_tick; /* time of first boost detect */
-__pdata uint16_t ao_motor_number; /* number of motors burned so far */
+enum ao_flight_state ao_flight_state; /* current flight state */
+uint16_t ao_boost_tick; /* time of most recent boost detect */
+uint16_t ao_launch_tick; /* time of first boost detect */
+uint16_t ao_motor_number; /* number of motors burned so far */
#if HAS_SENSOR_ERRORS
/* Any sensor can set this to mark the flight computer as 'broken' */
-__xdata uint8_t ao_sensor_errors;
+uint8_t ao_sensor_errors;
#endif
/*
* track min/max data over a long interval to detect
* resting
*/
-static __data uint16_t ao_interval_end;
-static __data ao_v_t ao_interval_min_height;
-static __data ao_v_t ao_interval_max_height;
+static uint16_t ao_interval_end;
+static ao_v_t ao_interval_min_height;
+static ao_v_t ao_interval_max_height;
#if HAS_ACCEL
-static __data ao_v_t ao_coast_avg_accel;
+static ao_v_t ao_coast_avg_accel;
#endif
-__pdata uint8_t ao_flight_force_idle;
+uint8_t ao_flight_force_idle;
/* We also have a clock, which can be used to sanity check things in
* case of other failures
@@ -463,7 +463,7 @@ ao_orient_test_select(void)
ao_orient_test = !ao_orient_test;
}
-__code struct ao_cmds ao_flight_cmds[] = {
+const struct ao_cmds ao_flight_cmds[] = {
{ ao_flight_dump, "F\0Dump flight status" },
{ ao_gyro_test, "G\0Test gyro code" },
{ ao_orient_test_select,"O\0Test orientation code" },
@@ -471,7 +471,7 @@ __code struct ao_cmds ao_flight_cmds[] = {
};
#endif
-static __xdata struct ao_task flight_task;
+static struct ao_task flight_task;
void
ao_flight_init(void)
diff --git a/src/kernel/ao_flight.h b/src/kernel/ao_flight.h
index 005c7e84..af6b0c55 100644
--- a/src/kernel/ao_flight.h
+++ b/src/kernel/ao_flight.h
@@ -38,21 +38,21 @@ enum ao_flight_state {
ao_flight_test = 10
};
-extern __pdata enum ao_flight_state ao_flight_state;
-extern __pdata uint16_t ao_boost_tick;
-extern __pdata uint16_t ao_launch_tick;
-extern __pdata uint16_t ao_motor_number;
+extern enum ao_flight_state ao_flight_state;
+extern uint16_t ao_boost_tick;
+extern uint16_t ao_launch_tick;
+extern uint16_t ao_motor_number;
#if HAS_IMU || HAS_MMA655X
#define HAS_SENSOR_ERRORS 1
#endif
#if HAS_SENSOR_ERRORS
-extern __xdata uint8_t ao_sensor_errors;
+extern uint8_t ao_sensor_errors;
#endif
-extern __pdata uint16_t ao_launch_time;
-extern __pdata uint8_t ao_flight_force_idle;
+extern uint16_t ao_launch_time;
+extern uint8_t ao_flight_force_idle;
/* Flight thread */
void
diff --git a/src/kernel/ao_flight_nano.c b/src/kernel/ao_flight_nano.c
index 797ea344..96d47fac 100644
--- a/src/kernel/ao_flight_nano.c
+++ b/src/kernel/ao_flight_nano.c
@@ -20,18 +20,18 @@
/* Main flight thread. */
-__pdata enum ao_flight_state ao_flight_state; /* current flight state */
-__pdata uint16_t ao_launch_tick; /* time of launch detect */
+enum ao_flight_state ao_flight_state; /* current flight state */
+uint16_t ao_launch_tick; /* time of launch detect */
/*
* track min/max data over a long interval to detect
* resting
*/
-__pdata uint16_t ao_interval_end;
-__pdata alt_t ao_interval_min_height;
-__pdata alt_t ao_interval_max_height;
+uint16_t ao_interval_end;
+alt_t ao_interval_min_height;
+alt_t ao_interval_max_height;
-__pdata uint8_t ao_flight_force_idle;
+uint8_t ao_flight_force_idle;
/* Landing is detected by getting constant readings from both pressure and accelerometer
* for a fairly long time (AO_INTERVAL_TICKS)
@@ -111,7 +111,7 @@ ao_flight_nano(void)
}
}
-static __xdata struct ao_task flight_task;
+static struct ao_task flight_task;
void
ao_flight_nano_init(void)
diff --git a/src/kernel/ao_forward.c b/src/kernel/ao_forward.c
index b1ab3f54..6f664b60 100644
--- a/src/kernel/ao_forward.c
+++ b/src/kernel/ao_forward.c
@@ -23,7 +23,7 @@ static void
ao_monitor_forward(void)
{
uint32_t recv_radio_setting;
- static __xdata struct ao_telemetry_all_recv packet;
+ static struct ao_telemetry_all_recv packet;
for (;;) {
while (ao_monitoring)
@@ -40,10 +40,10 @@ ao_monitor_forward(void)
}
}
-static __xdata struct ao_task ao_monitor_forward_task;
+static struct ao_task ao_monitor_forward_task;
void
-ao_monitor_forward_init(void) __reentrant
+ao_monitor_forward_init(void)
{
ao_add_task(&ao_monitor_forward_task, ao_monitor_forward, "monitor_forward");
}
diff --git a/src/kernel/ao_forward.h b/src/kernel/ao_forward.h
index 2fe28f66..5b21bf3c 100644
--- a/src/kernel/ao_forward.h
+++ b/src/kernel/ao_forward.h
@@ -20,6 +20,6 @@
#define _AO_FORWARD_H_
void
-ao_monitor_forward_init(void) __reentrant;
+ao_monitor_forward_init(void);
#endif /* _AO_FORWARD_H_ */
diff --git a/src/kernel/ao_freq.c b/src/kernel/ao_freq.c
index 6478dae2..81640ce8 100644
--- a/src/kernel/ao_freq.c
+++ b/src/kernel/ao_freq.c
@@ -26,11 +26,11 @@
* frequency, and updating the radio setting along the way
*/
-int32_t ao_freq_to_set(int32_t freq, int32_t cal) __reentrant
+int32_t ao_freq_to_set(int32_t freq, int32_t cal)
{
- static __pdata int32_t set;
- static __pdata uint8_t neg;
- static __pdata int32_t error;
+ static int32_t set;
+ static uint8_t neg;
+ static int32_t error;
set = 0;
neg = 0;
diff --git a/src/kernel/ao_gps_print.c b/src/kernel/ao_gps_print.c
index b1183bad..6dfd1bdd 100644
--- a/src/kernel/ao_gps_print.c
+++ b/src/kernel/ao_gps_print.c
@@ -26,7 +26,7 @@
#endif
void
-ao_gps_print(__xdata struct ao_gps_orig *gps_data) __reentrant
+ao_gps_print(struct ao_gps_orig *gps_data)
{
char state;
@@ -82,10 +82,10 @@ ao_gps_print(__xdata struct ao_gps_orig *gps_data) __reentrant
}
void
-ao_gps_tracking_print(__xdata struct ao_gps_tracking_orig *gps_tracking_data) __reentrant
+ao_gps_tracking_print(struct ao_gps_tracking_orig *gps_tracking_data)
{
uint8_t c, n, v;
- __xdata struct ao_gps_sat_orig *sat;
+ struct ao_gps_sat_orig *sat;
n = gps_tracking_data->channels;
if (n == 0)
diff --git a/src/kernel/ao_gps_report.c b/src/kernel/ao_gps_report.c
index 75c2f367..0ef9a725 100644
--- a/src/kernel/ao_gps_report.c
+++ b/src/kernel/ao_gps_report.c
@@ -21,9 +21,9 @@
void
ao_gps_report(void)
{
- static __xdata struct ao_log_record gps_log;
- static __xdata struct ao_telemetry_location gps_data;
- static __xdata struct ao_telemetry_satellite gps_tracking_data;
+ static struct ao_log_record gps_log;
+ static struct ao_telemetry_location gps_data;
+ static struct ao_telemetry_satellite gps_tracking_data;
uint8_t date_reported = 0;
uint8_t new;
@@ -85,7 +85,7 @@ ao_gps_report(void)
}
}
-__xdata struct ao_task ao_gps_report_task;
+struct ao_task ao_gps_report_task;
void
ao_gps_report_init(void)
diff --git a/src/kernel/ao_gps_report_mega.c b/src/kernel/ao_gps_report_mega.c
index 85614b85..37f1beaa 100644
--- a/src/kernel/ao_gps_report_mega.c
+++ b/src/kernel/ao_gps_report_mega.c
@@ -59,9 +59,9 @@ ao_gps_sparse_should_log(int32_t lat, int32_t lon, int16_t alt)
void
ao_gps_report_mega(void)
{
- static __xdata struct ao_log_mega gps_log;
- static __xdata struct ao_telemetry_location gps_data;
- static __xdata struct ao_telemetry_satellite gps_tracking_data;
+ static struct ao_log_mega gps_log;
+ static struct ao_telemetry_location gps_data;
+ static struct ao_telemetry_satellite gps_tracking_data;
uint8_t new;
uint8_t c, n, i;
@@ -125,7 +125,7 @@ ao_gps_report_mega(void)
}
}
-__xdata struct ao_task ao_gps_report_mega_task;
+struct ao_task ao_gps_report_mega_task;
void
ao_gps_report_mega_init(void)
diff --git a/src/kernel/ao_gps_report_metrum.c b/src/kernel/ao_gps_report_metrum.c
index 523fb17f..06863fe4 100644
--- a/src/kernel/ao_gps_report_metrum.c
+++ b/src/kernel/ao_gps_report_metrum.c
@@ -22,9 +22,9 @@
void
ao_gps_report_metrum(void)
{
- static __xdata struct ao_log_metrum gps_log;
- static __xdata struct ao_telemetry_location gps_data;
- static __xdata struct ao_telemetry_satellite gps_tracking_data;
+ static struct ao_log_metrum gps_log;
+ static struct ao_telemetry_location gps_data;
+ static struct ao_telemetry_satellite gps_tracking_data;
uint8_t c, n, i;
uint8_t svid;
uint8_t new;
@@ -88,7 +88,7 @@ ao_gps_report_metrum(void)
}
}
-__xdata struct ao_task ao_gps_report_metrum_task;
+struct ao_task ao_gps_report_metrum_task;
void
ao_gps_report_metrum_init(void)
diff --git a/src/kernel/ao_gps_show.c b/src/kernel/ao_gps_show.c
index ec197769..ab29e5e5 100644
--- a/src/kernel/ao_gps_show.c
+++ b/src/kernel/ao_gps_show.c
@@ -23,7 +23,7 @@
#include <ao_data.h>
void
-ao_gps_show(void) __reentrant
+ao_gps_show(void)
{
uint8_t i;
ao_mutex_get(&ao_gps_mutex);
diff --git a/src/kernel/ao_host.h b/src/kernel/ao_host.h
index 638dba99..592de54c 100644
--- a/src/kernel/ao_host.h
+++ b/src/kernel/ao_host.h
@@ -41,11 +41,7 @@ struct ao_adc {
int16_t sense_m; /* main continuity sense */
};
-#define __pdata
-#define __data
-#define __xdata
-#define __code
-#define __reentrant
+#define const
#define a (a)
#define a (a)
diff --git a/src/kernel/ao_ignite.c b/src/kernel/ao_ignite.c
index 52d9d77e..5f41c552 100644
--- a/src/kernel/ao_ignite.c
+++ b/src/kernel/ao_ignite.c
@@ -23,7 +23,7 @@
#endif
#if HAS_IGNITE
-__xdata struct ao_ignition ao_ignition[2];
+struct ao_ignition ao_ignition[2];
void
ao_ignite(enum ao_igniter igniter)
@@ -42,9 +42,9 @@ ao_ignite(enum ao_igniter igniter)
enum ao_igniter_status
ao_igniter_status(enum ao_igniter igniter)
{
- __xdata struct ao_data packet;
- __pdata int16_t value;
- __pdata uint8_t request, firing, fired;
+ struct ao_data packet;
+ int16_t value;
+ uint8_t request, firing, fired;
ao_arch_critical(
ao_data_get(&packet);
@@ -141,7 +141,7 @@ ao_igniter_fire(enum ao_igniter igniter)
void
ao_igniter(void)
{
- __xdata enum ao_igniter igniter;
+ enum ao_igniter igniter;
ao_config_get();
for (;;) {
@@ -187,13 +187,13 @@ ao_ignite_manual(void)
ao_cmd_status = ao_cmd_syntax_error;
}
-__code char * __code ao_igniter_status_names[] = {
+const char * const ao_igniter_status_names[] = {
"unknown", "ready", "active", "open"
};
#if HAS_IGNITE
void
-ao_ignite_print_status(enum ao_igniter igniter, __code char *name) __reentrant
+ao_ignite_print_status(enum ao_igniter igniter, const char *name)
{
enum ao_igniter_status status = ao_igniter_status(igniter);
printf("Igniter: %6s Status: %s\n",
@@ -214,14 +214,14 @@ ao_ignite_test(void)
#endif
}
-__code struct ao_cmds ao_ignite_cmds[] = {
+const struct ao_cmds ao_ignite_cmds[] = {
{ ao_ignite_manual, "i <key> {main|drogue}\0Fire igniter. <key> is doit with D&I" },
{ ao_ignite_test, "t\0Test igniter" },
{ 0, NULL },
};
#if HAS_IGNITE
-__xdata struct ao_task ao_igniter_task;
+struct ao_task ao_igniter_task;
void
ao_ignite_set_pins(void)
diff --git a/src/kernel/ao_int64.c b/src/kernel/ao_int64.c
index fdea61c0..dffb8556 100644
--- a/src/kernel/ao_int64.c
+++ b/src/kernel/ao_int64.c
@@ -18,7 +18,7 @@
#include <ao_int64.h>
-void ao_plus64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, __pdata ao_int64_t *b) __FATTR {
+void ao_plus64(ao_int64_t *r, ao_int64_t *a, ao_int64_t *b) __FATTR {
__LOCAL uint32_t t;
r->high = a->high + b->high;
@@ -28,7 +28,7 @@ void ao_plus64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, __pdata ao_int64_t
r->low = t;
}
-void ao_minus64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, __pdata ao_int64_t *b) __FATTR {
+void ao_minus64(ao_int64_t *r, ao_int64_t *a, ao_int64_t *b) __FATTR {
__LOCAL uint32_t t;
r->high = a->high - b->high;
@@ -38,7 +38,7 @@ void ao_minus64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, __pdata ao_int64_t
r->low = t;
}
-void ao_rshift64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, uint8_t d) __FATTR {
+void ao_rshift64(ao_int64_t *r, ao_int64_t *a, uint8_t d) __FATTR {
if (d < 32) {
r->low = a->low >> d;
if (d)
@@ -51,7 +51,7 @@ void ao_rshift64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, uint8_t d) __FATT
}
}
-void ao_lshift64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, uint8_t d) __FATTR {
+void ao_lshift64(ao_int64_t *r, ao_int64_t *a, uint8_t d) __FATTR {
if (d < 32) {
r->high = a->high << d;
if (d)
@@ -64,7 +64,7 @@ void ao_lshift64(__pdata ao_int64_t *r, __pdata ao_int64_t *a, uint8_t d) __FATT
}
}
-static void ao_umul64_32_32(__ARG ao_int64_t *r, uint32_t a, uint32_t b) __reentrant {
+static void ao_umul64_32_32(__ARG ao_int64_t *r, uint32_t a, uint32_t b) {
__LOCAL uint32_t s;
__LOCAL ao_int64_t t;
r->low = (uint32_t) (uint16_t) a * (uint16_t) b;
@@ -83,7 +83,7 @@ static void ao_umul64_32_32(__ARG ao_int64_t *r, uint32_t a, uint32_t b) __reent
ao_plus64(r, r, &t);
}
-void ao_neg64(__pdata ao_int64_t *r, __pdata ao_int64_t *a) __FATTR {
+void ao_neg64(ao_int64_t *r, ao_int64_t *a) __FATTR {
r->high = ~a->high;
if (!(r->low = ~a->low + 1))
r->high++;
@@ -105,7 +105,7 @@ void ao_mul64_32_32(__ARG ao_int64_t *r, int32_t a, int32_t b) __FATTR {
ao_neg64(r, r);
}
-static void ao_umul64(__ARG ao_int64_t *r, __ARG ao_int64_t *a, __ARG ao_int64_t *b) __reentrant {
+static void ao_umul64(__ARG ao_int64_t *r, __ARG ao_int64_t *a, __ARG ao_int64_t *b) {
__LOCAL ao_int64_t r2, r3;
ao_umul64_32_32(&r2, a->high, b->low);
@@ -135,7 +135,7 @@ void ao_mul64(__ARG ao_int64_t *r, __ARG ao_int64_t *a, __ARG ao_int64_t *b) __F
ao_neg64(r, r);
}
-static void ao_umul64_64_16(__ARG ao_int64_t *r, __ARG ao_int64_t *a, uint16_t b) __reentrant {
+static void ao_umul64_64_16(__ARG ao_int64_t *r, __ARG ao_int64_t *a, uint16_t b) {
__LOCAL uint32_t h;
h = a->high * b;
diff --git a/src/kernel/ao_int64.h b/src/kernel/ao_int64.h
index 11c16404..3014182a 100644
--- a/src/kernel/ao_int64.h
+++ b/src/kernel/ao_int64.h
@@ -27,14 +27,14 @@ typedef struct {
} ao_int64_t;
#define __FATTR
-#define __ARG __pdata
-#define __LOCAL static __pdata
-
-void ao_plus64(__pdata ao_int64_t *ao_64r, __pdata ao_int64_t *ao_64a, __pdata ao_int64_t *ao_64b) __FATTR;
-void ao_minus64(__pdata ao_int64_t *ao_64r, __pdata ao_int64_t *ao_64a, __pdata ao_int64_t *ao_64b) __FATTR;
-void ao_neg64(__pdata ao_int64_t *ao_64r, __pdata ao_int64_t *ao_64a) __FATTR;
-void ao_rshift64(__pdata ao_int64_t *ao_64r, __pdata ao_int64_t *ao_64a, uint8_t d) __FATTR;
-void ao_lshift64(__pdata ao_int64_t *ao_64r, __pdata ao_int64_t *ao_64a, uint8_t d) __FATTR;
+#define __ARG
+#define __LOCAL static
+
+void ao_plus64(ao_int64_t *ao_64r, ao_int64_t *ao_64a, ao_int64_t *ao_64b) __FATTR;
+void ao_minus64(ao_int64_t *ao_64r, ao_int64_t *ao_64a, ao_int64_t *ao_64b) __FATTR;
+void ao_neg64(ao_int64_t *ao_64r, ao_int64_t *ao_64a) __FATTR;
+void ao_rshift64(ao_int64_t *ao_64r, ao_int64_t *ao_64a, uint8_t d) __FATTR;
+void ao_lshift64(ao_int64_t *ao_64r, ao_int64_t *ao_64a, uint8_t d) __FATTR;
void ao_mul64_32_32(__ARG ao_int64_t *r, __ARG int32_t a, __ARG int32_t b) __FATTR;
void ao_mul64_64_16(__ARG ao_int64_t *r, __ARG ao_int64_t *a, __ARG uint16_t b) __FATTR;
void ao_mul64(__ARG ao_int64_t * __ARG r, __ARG ao_int64_t * __ARG a, __ARG ao_int64_t *__ARG b) __FATTR;
diff --git a/src/kernel/ao_kalman.c b/src/kernel/ao_kalman.c
index e4cc6d4b..4f4ffe8f 100644
--- a/src/kernel/ao_kalman.c
+++ b/src/kernel/ao_kalman.c
@@ -24,9 +24,9 @@
#include "ao_sample.h"
#include "ao_kalman.h"
-static __pdata ao_k_t ao_k_height;
-static __pdata ao_k_t ao_k_speed;
-static __pdata ao_k_t ao_k_accel;
+static ao_k_t ao_k_height;
+static ao_k_t ao_k_speed;
+static ao_k_t ao_k_accel;
#define AO_K_STEP_100 to_fix_v(0.01)
#define AO_K_STEP_2_2_100 to_fix_v(0.00005)
@@ -37,24 +37,24 @@ static __pdata ao_k_t ao_k_accel;
#define AO_K_STEP_1 to_fix_v(1)
#define AO_K_STEP_2_2_1 to_fix_v(0.5)
-__pdata ao_v_t ao_height;
-__pdata ao_v_t ao_speed;
-__pdata ao_v_t ao_accel;
-__xdata ao_v_t ao_max_height;
-static __pdata ao_k_t ao_avg_height_scaled;
-__xdata ao_v_t ao_avg_height;
+ao_v_t ao_height;
+ao_v_t ao_speed;
+ao_v_t ao_accel;
+ao_v_t ao_max_height;
+static ao_k_t ao_avg_height_scaled;
+ao_v_t ao_avg_height;
-__pdata ao_v_t ao_error_h;
+ao_v_t ao_error_h;
#if !HAS_ACCEL || AO_FLIGHT_TEST
#define AO_ERROR_H_SQ_AVG 1
#endif
#if AO_ERROR_H_SQ_AVG
-__pdata ao_v_t ao_error_h_sq_avg;
+ao_v_t ao_error_h_sq_avg;
#endif
#if HAS_ACCEL
-__pdata ao_v_t ao_error_a;
+ao_v_t ao_error_a;
#endif
static void
diff --git a/src/kernel/ao_led.h b/src/kernel/ao_led.h
index 7de09237..803f85b3 100644
--- a/src/kernel/ao_led.h
+++ b/src/kernel/ao_led.h
@@ -51,7 +51,7 @@ ao_led_toggle(AO_LED_TYPE colors);
/* Turn on the specified LEDs for the indicated interval */
void
-ao_led_for(AO_LED_TYPE colors, uint16_t ticks) __reentrant;
+ao_led_for(AO_LED_TYPE colors, uint16_t ticks);
/* Initialize the LEDs */
void
diff --git a/src/kernel/ao_log.c b/src/kernel/ao_log.c
index 5fb086ce..1119cce4 100644
--- a/src/kernel/ao_log.c
+++ b/src/kernel/ao_log.c
@@ -23,13 +23,13 @@
#include <ao_tracker.h>
#endif
-__xdata uint8_t ao_log_mutex;
-__pdata uint32_t ao_log_current_pos;
-__pdata uint32_t ao_log_end_pos;
-__pdata uint32_t ao_log_start_pos;
-__xdata uint8_t ao_log_running;
-__pdata enum ao_flight_state ao_log_state;
-__xdata int16_t ao_flight_number;
+uint8_t ao_log_mutex;
+uint32_t ao_log_current_pos;
+uint32_t ao_log_end_pos;
+uint32_t ao_log_start_pos;
+uint8_t ao_log_running;
+enum ao_flight_state ao_log_state;
+int16_t ao_flight_number;
void
ao_log_flush(void)
@@ -47,7 +47,7 @@ struct ao_log_erase {
uint16_t flight;
};
-static __xdata struct ao_log_erase erase;
+static struct ao_log_erase erase;
#ifndef LOG_MAX_ERASE
#define LOG_MAX_ERASE 16
@@ -117,10 +117,10 @@ ao_log_erase_mark(void)
* structure.
*/
-__xdata ao_log_type ao_log_data;
+ao_log_type ao_log_data;
static uint8_t
-ao_log_csum(__xdata uint8_t *b) __reentrant
+ao_log_csum(uint8_t *b)
{
uint8_t sum = 0x5a;
uint8_t i;
@@ -131,12 +131,12 @@ ao_log_csum(__xdata uint8_t *b) __reentrant
}
uint8_t
-ao_log_write(__xdata ao_log_type *log) __reentrant
+ao_log_write(ao_log_type *log)
{
uint8_t wrote = 0;
/* set checksum */
log->csum = 0;
- log->csum = ao_log_csum((__xdata uint8_t *) log);
+ log->csum = ao_log_csum((uint8_t *) log);
ao_mutex_get(&ao_log_mutex); {
if (ao_log_current_pos >= ao_log_end_pos && ao_log_running)
ao_log_stop();
@@ -223,7 +223,7 @@ ao_log_max_flight(void)
}
static void
-ao_log_erase(uint8_t slot) __reentrant
+ao_log_erase(uint8_t slot)
{
uint32_t log_current_pos, log_end_pos;
@@ -232,7 +232,7 @@ ao_log_erase(uint8_t slot) __reentrant
log_end_pos = log_current_pos + ao_config.flight_log_max;
while (log_current_pos < log_end_pos) {
uint8_t i;
- static __xdata uint8_t b;
+ static uint8_t b;
/*
* Check to see if we've reached the end of
@@ -252,7 +252,7 @@ ao_log_erase(uint8_t slot) __reentrant
}
static void
-ao_log_find_max_erase_flight(void) __reentrant
+ao_log_find_max_erase_flight(void)
{
uint8_t log_slot;
@@ -273,7 +273,7 @@ ao_log_find_max_erase_flight(void) __reentrant
}
uint8_t
-ao_log_scan(void) __reentrant
+ao_log_scan(void)
{
uint8_t log_slot;
uint8_t log_slots;
@@ -402,11 +402,11 @@ ao_log_full(void)
#endif
#if LOG_ADC
-static __xdata struct ao_task ao_log_task;
+static struct ao_task ao_log_task;
#endif
void
-ao_log_list(void) __reentrant
+ao_log_list(void)
{
uint8_t slot;
uint8_t slots;
@@ -426,7 +426,7 @@ ao_log_list(void) __reentrant
}
void
-ao_log_delete(void) __reentrant
+ao_log_delete(void)
{
uint8_t slot;
uint8_t slots;
@@ -462,7 +462,7 @@ ao_log_delete(void) __reentrant
printf("No such flight: %d\n", cmd_flight);
}
-__code struct ao_cmds ao_log_cmds[] = {
+const struct ao_cmds ao_log_cmds[] = {
{ ao_log_list, "l\0List logs" },
{ ao_log_delete, "d <flight-number>\0Delete flight" },
{ 0, NULL },
diff --git a/src/kernel/ao_log.h b/src/kernel/ao_log.h
index e2f1e0e4..a9715962 100644
--- a/src/kernel/ao_log.h
+++ b/src/kernel/ao_log.h
@@ -29,13 +29,13 @@
* the log. Tasks may wait for this to be initialized
* by sleeping on this variable.
*/
-extern __xdata int16_t ao_flight_number;
-extern __xdata uint8_t ao_log_mutex;
-extern __pdata uint32_t ao_log_current_pos;
-extern __pdata uint32_t ao_log_end_pos;
-extern __pdata uint32_t ao_log_start_pos;
-extern __xdata uint8_t ao_log_running;
-extern __pdata enum ao_flight_state ao_log_state;
+extern int16_t ao_flight_number;
+extern uint8_t ao_log_mutex;
+extern uint32_t ao_log_current_pos;
+extern uint32_t ao_log_end_pos;
+extern uint32_t ao_log_start_pos;
+extern uint8_t ao_log_running;
+extern enum ao_flight_state ao_log_state;
/* required functions from the underlying log system */
@@ -90,7 +90,7 @@ ao_log(void);
/* Figure out the current flight number */
uint8_t
-ao_log_scan(void) __reentrant;
+ao_log_scan(void);
/* Return the position of the start of the given log slot */
uint32_t
@@ -507,14 +507,14 @@ typedef struct ao_log_record ao_log_type;
#endif
#ifndef AO_LOG_UNCOMMON
-extern __xdata ao_log_type ao_log_data;
+extern ao_log_type ao_log_data;
#define AO_LOG_SIZE sizeof(ao_log_type)
/* Write a record to the eeprom log */
uint8_t
-ao_log_write(__xdata ao_log_type *log) __reentrant;
+ao_log_write(ao_log_type *log);
#endif
void
diff --git a/src/kernel/ao_log_big.c b/src/kernel/ao_log_big.c
index 7d7332e9..2a8cd63d 100644
--- a/src/kernel/ao_log_big.c
+++ b/src/kernel/ao_log_big.c
@@ -18,7 +18,7 @@
#include "ao.h"
-static __data uint8_t ao_log_data_pos;
+static uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_records fill the eeprom block in even units */
typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_record))] ;
@@ -32,7 +32,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_record))] ;
void
ao_log(void)
{
- __pdata uint16_t next_sensor, next_other;
+ uint16_t next_sensor, next_other;
ao_storage_setup();
diff --git a/src/kernel/ao_log_fireone.c b/src/kernel/ao_log_fireone.c
index 1a82673d..3dd52a16 100644
--- a/src/kernel/ao_log_fireone.c
+++ b/src/kernel/ao_log_fireone.c
@@ -21,12 +21,12 @@
#include <ao_data.h>
#include <ao_flight.h>
-static __xdata struct ao_log_firetwo log;
+static struct ao_log_firetwo log;
-__code uint8_t ao_log_format = AO_LOG_FORMAT_TELEFIRETWO;
+const uint8_t ao_log_format = AO_LOG_FORMAT_TELEFIRETWO;
static uint8_t
-ao_log_csum(__xdata uint8_t *b) __reentrant
+ao_log_csum(uint8_t *b)
{
uint8_t sum = 0x5a;
uint8_t i;
@@ -37,12 +37,12 @@ ao_log_csum(__xdata uint8_t *b) __reentrant
}
uint8_t
-ao_log_firetwo(__xdata struct ao_log_firetwo *log) __reentrant
+ao_log_firetwo(struct ao_log_firetwo *log)
{
uint8_t wrote = 0;
/* set checksum */
log->csum = 0;
- log->csum = ao_log_csum((__xdata uint8_t *) log);
+ log->csum = ao_log_csum((uint8_t *) log);
ao_mutex_get(&ao_log_mutex); {
if (ao_log_current_pos >= ao_log_end_pos && ao_log_running)
ao_log_stop();
@@ -66,7 +66,7 @@ ao_log_dump_check_data(void)
}
#if HAS_ADC
-static __data uint8_t ao_log_data_pos;
+static uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_metrums fill the eeprom block in even units */
typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_firetwo))] ;
diff --git a/src/kernel/ao_log_mega.c b/src/kernel/ao_log_mega.c
index 0ae4e536..341ff715 100644
--- a/src/kernel/ao_log_mega.c
+++ b/src/kernel/ao_log_mega.c
@@ -22,7 +22,7 @@
#include <ao_flight.h>
#if HAS_FLIGHT
-static __data uint8_t ao_log_data_pos;
+static uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_megas fill the eeprom block in even units */
typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mega))] ;
@@ -36,7 +36,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mega))] ;
void
ao_log(void)
{
- __pdata uint16_t next_sensor, next_other;
+ uint16_t next_sensor, next_other;
uint8_t i;
ao_storage_setup();
diff --git a/src/kernel/ao_log_metrum.c b/src/kernel/ao_log_metrum.c
index 34729070..18fb9ffb 100644
--- a/src/kernel/ao_log_metrum.c
+++ b/src/kernel/ao_log_metrum.c
@@ -22,7 +22,7 @@
#include <ao_flight.h>
#if HAS_ADC
-static __data uint8_t ao_log_data_pos;
+static uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_metrums fill the eeprom block in even units */
typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_metrum))] ;
@@ -36,7 +36,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_metrum))] ;
void
ao_log(void)
{
- __pdata uint16_t next_sensor, next_other;
+ uint16_t next_sensor, next_other;
ao_storage_setup();
diff --git a/src/kernel/ao_log_mini.c b/src/kernel/ao_log_mini.c
index 12c5d6bb..03bf2265 100644
--- a/src/kernel/ao_log_mini.c
+++ b/src/kernel/ao_log_mini.c
@@ -21,7 +21,7 @@
#include <ao_data.h>
#include <ao_flight.h>
-static __data uint8_t ao_log_data_pos;
+static uint8_t ao_log_data_pos;
/* a hack to make sure that ao_log_minis fill the eeprom block in even units */
typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mini))] ;
@@ -34,7 +34,7 @@ typedef uint8_t check_log_size[1-(256 % sizeof(struct ao_log_mini))] ;
void
ao_log(void)
{
- __pdata uint16_t next_sensor;
+ uint16_t next_sensor;
ao_storage_setup();
diff --git a/src/kernel/ao_log_single.c b/src/kernel/ao_log_single.c
index 63768e1a..da627387 100644
--- a/src/kernel/ao_log_single.c
+++ b/src/kernel/ao_log_single.c
@@ -26,16 +26,16 @@
#include "ao.h"
#include "ao_product.h"
-static __xdata struct ao_task ao_log_single_task;
+static struct ao_task ao_log_single_task;
-__xdata uint8_t ao_log_running;
-__xdata uint8_t ao_log_mutex;
-__pdata uint32_t ao_log_start_pos;
-__pdata uint32_t ao_log_end_pos;
-__pdata uint32_t ao_log_current_pos;
+uint8_t ao_log_running;
+uint8_t ao_log_mutex;
+uint32_t ao_log_start_pos;
+uint32_t ao_log_end_pos;
+uint32_t ao_log_current_pos;
-__xdata union ao_log_single ao_log_single_write_data;
-__xdata union ao_log_single ao_log_single_read_data;
+union ao_log_single ao_log_single_write_data;
+union ao_log_single ao_log_single_read_data;
uint8_t
ao_log_single_write(void)
@@ -59,7 +59,7 @@ ao_log_single_write(void)
static uint8_t
ao_log_single_valid(void)
{
- __xdata uint8_t *d = ao_log_single_read_data.bytes;
+ uint8_t *d = ao_log_single_read_data.bytes;
uint8_t i;
for (i = 0; i < AO_LOG_SINGLE_SIZE; i++)
if (*d++ != 0xff)
diff --git a/src/kernel/ao_log_telem.c b/src/kernel/ao_log_telem.c
index 8969e029..8c0b88e4 100644
--- a/src/kernel/ao_log_telem.c
+++ b/src/kernel/ao_log_telem.c
@@ -20,13 +20,13 @@
#include <ao_flight.h>
#include <ao_sample.h>
-__code uint8_t ao_log_format = AO_LOG_FORMAT_TELEMETRY;
+const uint8_t ao_log_format = AO_LOG_FORMAT_TELEMETRY;
-static __data uint8_t ao_log_monitor_pos;
-__pdata enum ao_flight_state ao_flight_state;
-__xdata int16_t ao_max_height; /* max of ao_height */
-__pdata int16_t sense_d, sense_m;
-__pdata uint8_t ao_igniter_present;
+static uint8_t ao_log_monitor_pos;
+enum ao_flight_state ao_flight_state;
+int16_t ao_max_height; /* max of ao_height */
+int16_t sense_d, sense_m;
+uint8_t ao_igniter_present;
static void
ao_log_telem_track() {
diff --git a/src/kernel/ao_log_telescience.c b/src/kernel/ao_log_telescience.c
index 3f514f18..a21af71d 100644
--- a/src/kernel/ao_log_telescience.c
+++ b/src/kernel/ao_log_telescience.c
@@ -23,12 +23,12 @@
static uint8_t ao_log_data_pos;
-__code uint8_t ao_log_format = AO_LOG_FORMAT_TELESCIENCE;
+const uint8_t ao_log_format = AO_LOG_FORMAT_TELESCIENCE;
static void
-ao_log_telescience_csum(void) __reentrant
+ao_log_telescience_csum(void)
{
- __xdata uint8_t *b = ao_log_single_write_data.bytes;
+ uint8_t *b = ao_log_single_write_data.bytes;
uint8_t sum = 0x5a;
uint8_t i;
diff --git a/src/kernel/ao_log_tiny.c b/src/kernel/ao_log_tiny.c
index 046b7b20..53003111 100644
--- a/src/kernel/ao_log_tiny.c
+++ b/src/kernel/ao_log_tiny.c
@@ -18,7 +18,7 @@
#include "ao.h"
-static __data uint16_t ao_log_tiny_interval;
+static uint16_t ao_log_tiny_interval;
#define AO_LOG_TINY_INTERVAL_DEFAULT AO_MS_TO_TICKS(1000)
#if USE_FAST_ASCENT_LOG
@@ -46,8 +46,8 @@ static void ao_log_tiny_data(uint16_t d)
}
}
-static __xdata uint16_t ao_log_pad_ring[AO_PAD_RING];
-static __pdata uint8_t ao_log_pad_ring_pos;
+static uint16_t ao_log_pad_ring[AO_PAD_RING];
+static uint8_t ao_log_pad_ring_pos;
#define ao_pad_ring_next(n) (((n) + 1) & (AO_PAD_RING - 1))
@@ -150,7 +150,7 @@ ao_log(void)
int16_t
ao_log_flight(uint8_t slot)
{
- static __xdata uint16_t flight;
+ static uint16_t flight;
(void) slot;
ao_storage_read(0, &flight, 2);
diff --git a/src/kernel/ao_monitor.c b/src/kernel/ao_monitor.c
index b9a39bfc..b6b8d888 100644
--- a/src/kernel/ao_monitor.c
+++ b/src/kernel/ao_monitor.c
@@ -36,15 +36,15 @@
#error Must define AO_MONITOR_LED
#endif
-__xdata uint8_t ao_monitoring_mutex;
-__data uint8_t ao_monitoring;
-static __data uint8_t ao_monitor_disabled;
-static __data uint8_t ao_internal_monitoring;
-static __data uint8_t ao_external_monitoring;
+uint8_t ao_monitoring_mutex;
+uint8_t ao_monitoring;
+static uint8_t ao_monitor_disabled;
+static uint8_t ao_internal_monitoring;
+static uint8_t ao_external_monitoring;
-__xdata union ao_monitor ao_monitor_ring[AO_MONITOR_RING];
+union ao_monitor ao_monitor_ring[AO_MONITOR_RING];
-__data uint8_t ao_monitor_head;
+uint8_t ao_monitor_head;
static void
_ao_monitor_adjust(void)
@@ -91,7 +91,7 @@ ao_monitor_get(void)
}
#if AO_MONITOR_LED
-__xdata struct ao_task ao_monitor_blink_task;
+struct ao_task ao_monitor_blink_task;
void
ao_monitor_blink(void)
@@ -125,7 +125,7 @@ void
ao_monitor_put(void)
{
#if LEGACY_MONITOR
- __xdata char callsign[AO_MAX_CALLSIGN+1];
+ char callsign[AO_MAX_CALLSIGN+1];
#endif
#if LEGACY_MONITOR || HAS_RSSI
int16_t rssi;
@@ -133,7 +133,7 @@ ao_monitor_put(void)
uint8_t ao_monitor_tail;
uint8_t state;
uint8_t sum, byte;
- __xdata union ao_monitor *m;
+ union ao_monitor *m;
#define recv_raw ((m->raw))
#define recv_orig ((m->orig))
@@ -266,10 +266,10 @@ ao_monitor_put(void)
}
}
-__xdata struct ao_task ao_monitor_put_task;
+struct ao_task ao_monitor_put_task;
#endif
-__xdata struct ao_task ao_monitor_get_task;
+struct ao_task ao_monitor_get_task;
void
ao_monitor_set(uint8_t monitoring)
@@ -303,14 +303,14 @@ set_monitor(void)
_ao_monitor_adjust();
}
-__code struct ao_cmds ao_monitor_cmds[] = {
+const struct ao_cmds ao_monitor_cmds[] = {
{ set_monitor, "m <0 off, 1 old, 20 std>\0Set radio monitoring" },
{ 0, NULL },
};
#endif
void
-ao_monitor_init(void) __reentrant
+ao_monitor_init(void)
{
#if HAS_MONITOR_PUT
ao_cmd_register(&ao_monitor_cmds[0]);
diff --git a/src/kernel/ao_mutex.c b/src/kernel/ao_mutex.c
index ff73e3bc..4ef1a9ba 100644
--- a/src/kernel/ao_mutex.c
+++ b/src/kernel/ao_mutex.c
@@ -25,7 +25,7 @@
#if HAS_MUTEX_TRY
uint8_t
-ao_mutex_try(__xdata uint8_t *mutex, uint8_t task_id) __reentrant
+ao_mutex_try(uint8_t *mutex, uint8_t task_id)
{
uint8_t ret;
if (*mutex == task_id)
@@ -42,7 +42,7 @@ ao_mutex_try(__xdata uint8_t *mutex, uint8_t task_id) __reentrant
#endif
void
-ao_mutex_get(__xdata uint8_t *mutex) __reentrant
+ao_mutex_get(uint8_t *mutex)
{
if (*mutex == ao_cur_task->task_id)
ao_panic(AO_PANIC_MUTEX);
@@ -54,7 +54,7 @@ ao_mutex_get(__xdata uint8_t *mutex) __reentrant
}
void
-ao_mutex_put(__xdata uint8_t *mutex) __reentrant
+ao_mutex_put(uint8_t *mutex)
{
if (*mutex != ao_cur_task->task_id)
ao_panic(AO_PANIC_MUTEX);
diff --git a/src/kernel/ao_notask.c b/src/kernel/ao_notask.c
index 7207353a..a5bdc8a7 100644
--- a/src/kernel/ao_notask.c
+++ b/src/kernel/ao_notask.c
@@ -21,7 +21,7 @@
static volatile void *ao_wchan;
uint8_t
-ao_sleep(__xdata void *wchan)
+ao_sleep(void *wchan)
{
#if 1
ao_wchan = wchan;
@@ -55,7 +55,7 @@ ao_delay(uint16_t ticks)
#endif
void
-ao_wakeup(__xdata void *wchan)
+ao_wakeup(void *wchan)
{
(void) wchan;
ao_wchan = 0;
diff --git a/src/kernel/ao_notask.h b/src/kernel/ao_notask.h
index a4446726..ce622b63 100644
--- a/src/kernel/ao_notask.h
+++ b/src/kernel/ao_notask.h
@@ -20,9 +20,9 @@
#define _AO_NOTASK_H_
uint8_t
-ao_sleep(__xdata void *wchan);
+ao_sleep(void *wchan);
void
-ao_wakeup(__xdata void *wchan);
+ao_wakeup(void *wchan);
#endif /* _AO_NOTASK_H_ */
diff --git a/src/kernel/ao_packet.h b/src/kernel/ao_packet.h
index 9d99b0e6..24cd7b13 100644
--- a/src/kernel/ao_packet.h
+++ b/src/kernel/ao_packet.h
@@ -43,13 +43,13 @@ struct ao_packet_recv {
uint8_t status;
};
-extern __xdata struct ao_packet_recv ao_rx_packet;
-extern __xdata struct ao_packet ao_tx_packet;
-extern __xdata struct ao_task ao_packet_task;
-extern __xdata uint8_t ao_packet_enable;
-extern __xdata uint8_t ao_packet_master_sleeping;
-extern __pdata uint8_t ao_packet_rx_len, ao_packet_rx_used, ao_packet_tx_used;
-extern __xdata uint8_t ao_packet_restart;
+extern struct ao_packet_recv ao_rx_packet;
+extern struct ao_packet ao_tx_packet;
+extern struct ao_task ao_packet_task;
+extern uint8_t ao_packet_enable;
+extern uint8_t ao_packet_master_sleeping;
+extern uint8_t ao_packet_rx_len, ao_packet_rx_used, ao_packet_tx_used;
+extern uint8_t ao_packet_restart;
void
ao_packet_send(void);
@@ -61,7 +61,7 @@ void
ao_packet_flush(void);
void
-ao_packet_putchar(char c) __reentrant;
+ao_packet_putchar(char c);
int
_ao_packet_pollchar(void);
@@ -69,7 +69,7 @@ _ao_packet_pollchar(void);
#if PACKET_HAS_MASTER
/* ao_packet_master.c */
-extern __xdata int8_t ao_packet_last_rssi;
+extern int8_t ao_packet_last_rssi;
void
ao_packet_master_init(void);
diff --git a/src/kernel/ao_pyro.c b/src/kernel/ao_pyro.c
index 527112ac..e24ab46b 100644
--- a/src/kernel/ao_pyro.c
+++ b/src/kernel/ao_pyro.c
@@ -38,8 +38,8 @@
enum ao_igniter_status
ao_pyro_status(uint8_t p)
{
- __xdata struct ao_data packet;
- __pdata int16_t value;
+ struct ao_data packet;
+ int16_t value;
ao_arch_critical(
ao_data_get(&packet);
@@ -404,7 +404,7 @@ ao_pyro(void)
ao_exit();
}
-__xdata struct ao_task ao_pyro_task;
+struct ao_task ao_pyro_task;
static void
diff --git a/src/kernel/ao_radio_cmac.c b/src/kernel/ao_radio_cmac.c
index 92b365a2..155fce35 100644
--- a/src/kernel/ao_radio_cmac.c
+++ b/src/kernel/ao_radio_cmac.c
@@ -19,9 +19,9 @@
#include <ao.h>
#include <ao_radio_cmac.h>
-static __xdata uint8_t ao_radio_cmac_mutex;
-__pdata int8_t ao_radio_cmac_rssi;
-static __xdata uint8_t cmac_data[AO_CMAC_MAX_LEN + AO_CMAC_KEY_LEN + 2 + AO_CMAC_KEY_LEN];
+static uint8_t ao_radio_cmac_mutex;
+int8_t ao_radio_cmac_rssi;
+static uint8_t cmac_data[AO_CMAC_MAX_LEN + AO_CMAC_KEY_LEN + 2 + AO_CMAC_KEY_LEN];
static uint8_t
round_len(uint8_t len)
@@ -45,7 +45,7 @@ round_len(uint8_t len)
* Sign and deliver the data sitting in the cmac buffer
*/
static void
-radio_cmac_send(uint8_t len) __reentrant
+radio_cmac_send(uint8_t len)
{
uint8_t i;
@@ -77,7 +77,7 @@ radio_cmac_send(uint8_t len) __reentrant
*/
static int8_t
-radio_cmac_recv(uint8_t len, uint16_t timeout) __reentrant
+radio_cmac_recv(uint8_t len, uint16_t timeout)
{
uint8_t i;
@@ -127,7 +127,7 @@ radio_cmac_recv(uint8_t len, uint16_t timeout) __reentrant
}
int8_t
-ao_radio_cmac_send(__xdata void *packet, uint8_t len) __reentrant
+ao_radio_cmac_send(void *packet, uint8_t len)
{
if (len > AO_CMAC_MAX_LEN)
return AO_RADIO_CMAC_LEN_ERROR;
@@ -145,7 +145,7 @@ ao_radio_cmac_send(__xdata void *packet, uint8_t len) __reentrant
}
int8_t
-ao_radio_cmac_recv(__xdata void *packet, uint8_t len, uint16_t timeout) __reentrant
+ao_radio_cmac_recv(void *packet, uint8_t len, uint16_t timeout)
{
int8_t i;
if (len > AO_CMAC_MAX_LEN)
diff --git a/src/kernel/ao_radio_cmac.h b/src/kernel/ao_radio_cmac.h
index 74fe8c60..5fd6e105 100644
--- a/src/kernel/ao_radio_cmac.h
+++ b/src/kernel/ao_radio_cmac.h
@@ -24,10 +24,10 @@
#define AO_CMAC_KEY_LEN AO_AES_LEN
#define AO_CMAC_MAX_LEN (128 - AO_CMAC_KEY_LEN)
-extern __pdata int8_t ao_radio_cmac_rssi;
+extern int8_t ao_radio_cmac_rssi;
int8_t
-ao_radio_cmac_send(__xdata void *packet, uint8_t len) __reentrant;
+ao_radio_cmac_send(void *packet, uint8_t len);
#define AO_RADIO_CMAC_OK 0
#define AO_RADIO_CMAC_LEN_ERROR -1
@@ -36,7 +36,7 @@ ao_radio_cmac_send(__xdata void *packet, uint8_t len) __reentrant;
#define AO_RADIO_CMAC_TIMEOUT -4
int8_t
-ao_radio_cmac_recv(__xdata void *packet, uint8_t len, uint16_t timeout) __reentrant;
+ao_radio_cmac_recv(void *packet, uint8_t len, uint16_t timeout);
void
ao_radio_cmac_init(void);
diff --git a/src/kernel/ao_radio_cmac_cmd.c b/src/kernel/ao_radio_cmac_cmd.c
index 6d29f392..e5b4ffdf 100644
--- a/src/kernel/ao_radio_cmac_cmd.c
+++ b/src/kernel/ao_radio_cmac_cmd.c
@@ -20,7 +20,7 @@
#include <ao_radio_cmac_cmd.h>
#include <ao_radio_cmac.h>
-static __xdata uint8_t cmac_data[AO_CMAC_MAX_LEN];
+static uint8_t cmac_data[AO_CMAC_MAX_LEN];
static uint8_t
getnibble(void)
@@ -45,7 +45,7 @@ getbyte(void)
}
static void
-radio_cmac_send_cmd(void) __reentrant
+radio_cmac_send_cmd(void)
{
uint8_t i;
uint8_t len;
@@ -69,7 +69,7 @@ radio_cmac_send_cmd(void) __reentrant
}
static void
-radio_cmac_recv_cmd(void) __reentrant
+radio_cmac_recv_cmd(void)
{
uint8_t len, i;
uint16_t timeout;
@@ -92,7 +92,7 @@ radio_cmac_recv_cmd(void) __reentrant
printf ("ERROR %d %d\n", i, ao_radio_cmac_rssi);
}
-static __code struct ao_cmds ao_radio_cmac_cmds[] = {
+static const struct ao_cmds ao_radio_cmac_cmds[] = {
{ radio_cmac_send_cmd, "s <length>\0Send AES-CMAC packet. Bytes to send follow on next line" },
{ radio_cmac_recv_cmd, "S <length> <timeout>\0Receive AES-CMAC packet. Timeout in ms" },
{ 0, NULL },
diff --git a/src/kernel/ao_report.c b/src/kernel/ao_report.c
index 73f87cdd..08967af8 100644
--- a/src/kernel/ao_report.c
+++ b/src/kernel/ao_report.c
@@ -58,7 +58,7 @@ static const uint8_t flight_reports[] = {
#endif
#define pause(time) ao_delay(time)
-static __pdata enum ao_flight_state ao_report_state;
+static enum ao_flight_state ao_report_state;
/*
* Farnsworth spacing
@@ -115,7 +115,7 @@ static __pdata enum ao_flight_state ao_report_state;
*/
static void
-ao_report_beep(void) __reentrant
+ao_report_beep(void)
{
uint8_t r = flight_reports[ao_flight_state];
uint8_t l = r & 7;
@@ -134,7 +134,7 @@ ao_report_beep(void) __reentrant
}
static void
-ao_report_digit(uint8_t digit) __reentrant
+ao_report_digit(uint8_t digit)
{
if (!digit) {
mid(AO_MS_TO_TICKS(500));
@@ -151,8 +151,8 @@ ao_report_digit(uint8_t digit) __reentrant
static void
ao_report_number(int16_t n)
{
- __xdata uint8_t digits[10];
- __pdata uint8_t ndigits, i;
+ uint8_t digits[10];
+ uint8_t ndigits, i;
if (n < 0)
n = 0;
@@ -178,7 +178,7 @@ ao_report_altitude(void)
static void
ao_report_battery(void)
{
- __xdata struct ao_data packet;
+ struct ao_data packet;
for (;;) {
ao_data_get(&packet);
if (packet.adc.v_batt != 0)
@@ -204,7 +204,7 @@ ao_report_igniter(void)
}
static void
-ao_report_continuity(void) __reentrant
+ao_report_continuity(void)
{
uint8_t c;
@@ -285,7 +285,7 @@ ao_report(void)
}
}
-static __xdata struct ao_task ao_report_task;
+static struct ao_task ao_report_task;
void
ao_report_init(void)
diff --git a/src/kernel/ao_report_micro.c b/src/kernel/ao_report_micro.c
index 9c7afdc5..efada54b 100644
--- a/src/kernel/ao_report_micro.c
+++ b/src/kernel/ao_report_micro.c
@@ -23,7 +23,7 @@
#define pause(time) ao_delay(time)
static void
-ao_report_digit(uint8_t digit) __reentrant
+ao_report_digit(uint8_t digit)
{
if (!digit) {
mid(AO_MS_TO_TICKS(1000));
@@ -40,9 +40,9 @@ ao_report_digit(uint8_t digit) __reentrant
void
ao_report_altitude(void)
{
- __pdata alt_t agl = ao_max_height;
- static __xdata uint8_t digits[11];
- __pdata uint8_t ndigits, i;
+ alt_t agl = ao_max_height;
+ static uint8_t digits[11];
+ uint8_t ndigits, i;
if (agl < 0)
agl = 0;
diff --git a/src/kernel/ao_rssi.c b/src/kernel/ao_rssi.c
index 66fb8b57..aacc38b2 100644
--- a/src/kernel/ao_rssi.c
+++ b/src/kernel/ao_rssi.c
@@ -18,9 +18,9 @@
#include "ao.h"
-static __xdata uint16_t ao_rssi_time;
-static __pdata uint16_t ao_rssi_delay;
-static __pdata AO_LED_TYPE ao_rssi_led;
+static uint16_t ao_rssi_time;
+static uint16_t ao_rssi_delay;
+static AO_LED_TYPE ao_rssi_led;
void
ao_rssi(void)
@@ -43,7 +43,7 @@ ao_rssi_set(int16_t rssi_value)
ao_wakeup(&ao_rssi_time);
}
-__xdata struct ao_task ao_rssi_task;
+struct ao_task ao_rssi_task;
void
ao_rssi_init(AO_LED_TYPE rssi_led)
diff --git a/src/kernel/ao_sample.c b/src/kernel/ao_sample.c
index 9f5082bb..115eae80 100644
--- a/src/kernel/ao_sample.c
+++ b/src/kernel/ao_sample.c
@@ -35,63 +35,63 @@
#define ACCEL_TYPE int16_t
#endif
-__pdata uint16_t ao_sample_tick; /* time of last data */
-__pdata pres_t ao_sample_pres;
-__pdata alt_t ao_sample_alt;
-__pdata alt_t ao_sample_height;
+uint16_t ao_sample_tick; /* time of last data */
+pres_t ao_sample_pres;
+alt_t ao_sample_alt;
+alt_t ao_sample_height;
#if HAS_ACCEL
-__pdata accel_t ao_sample_accel;
+accel_t ao_sample_accel;
#endif
#if HAS_GYRO
-__pdata accel_t ao_sample_accel_along;
-__pdata accel_t ao_sample_accel_across;
-__pdata accel_t ao_sample_accel_through;
-__pdata gyro_t ao_sample_roll;
-__pdata gyro_t ao_sample_pitch;
-__pdata gyro_t ao_sample_yaw;
-__pdata angle_t ao_sample_orient;
-__pdata angle_t ao_sample_orients[AO_NUM_ORIENT];
-__pdata uint8_t ao_sample_orient_pos;
+accel_t ao_sample_accel_along;
+accel_t ao_sample_accel_across;
+accel_t ao_sample_accel_through;
+gyro_t ao_sample_roll;
+gyro_t ao_sample_pitch;
+gyro_t ao_sample_yaw;
+angle_t ao_sample_orient;
+angle_t ao_sample_orients[AO_NUM_ORIENT];
+uint8_t ao_sample_orient_pos;
#endif
-__data uint8_t ao_sample_data;
+uint8_t ao_sample_data;
/*
* Sensor calibration values
*/
-__pdata pres_t ao_ground_pres; /* startup pressure */
-__pdata alt_t ao_ground_height; /* MSL of ao_ground_pres */
+pres_t ao_ground_pres; /* startup pressure */
+alt_t ao_ground_height; /* MSL of ao_ground_pres */
#if HAS_ACCEL
-__pdata accel_t ao_ground_accel; /* startup acceleration */
-__pdata accel_t ao_accel_2g; /* factory accel calibration */
-__pdata int32_t ao_accel_scale; /* sensor to m/s² conversion */
+accel_t ao_ground_accel; /* startup acceleration */
+accel_t ao_accel_2g; /* factory accel calibration */
+int32_t ao_accel_scale; /* sensor to m/s² conversion */
#endif
#if HAS_GYRO
-__pdata accel_t ao_ground_accel_along;
-__pdata accel_t ao_ground_accel_across;
-__pdata accel_t ao_ground_accel_through;
-__pdata int32_t ao_ground_pitch;
-__pdata int32_t ao_ground_yaw;
-__pdata int32_t ao_ground_roll;
+accel_t ao_ground_accel_along;
+accel_t ao_ground_accel_across;
+accel_t ao_ground_accel_through;
+int32_t ao_ground_pitch;
+int32_t ao_ground_yaw;
+int32_t ao_ground_roll;
#endif
-static __pdata uint8_t ao_preflight; /* in preflight mode */
+static uint8_t ao_preflight; /* in preflight mode */
-static __pdata uint16_t nsamples;
-__pdata int32_t ao_sample_pres_sum;
+static uint16_t nsamples;
+int32_t ao_sample_pres_sum;
#if HAS_ACCEL
-__pdata int32_t ao_sample_accel_sum;
+int32_t ao_sample_accel_sum;
#endif
#if HAS_GYRO
-__pdata int32_t ao_sample_accel_along_sum;
-__pdata int32_t ao_sample_accel_across_sum;
-__pdata int32_t ao_sample_accel_through_sum;
-__pdata int32_t ao_sample_pitch_sum;
-__pdata int32_t ao_sample_yaw_sum;
-__pdata int32_t ao_sample_roll_sum;
+int32_t ao_sample_accel_along_sum;
+int32_t ao_sample_accel_across_sum;
+int32_t ao_sample_accel_through_sum;
+int32_t ao_sample_pitch_sum;
+int32_t ao_sample_yaw_sum;
+int32_t ao_sample_roll_sum;
static struct ao_quaternion ao_rotation;
#endif
@@ -324,7 +324,7 @@ ao_sample(void)
ao_wakeup(&ao_sample_data);
ao_sleep((void *) &ao_data_head);
while (ao_sample_data != ao_data_head) {
- __xdata struct ao_data *ao_data;
+ struct ao_data *ao_data;
/* Capture a sample */
ao_data = (struct ao_data *) &ao_data_ring[ao_sample_data];
diff --git a/src/kernel/ao_sample.h b/src/kernel/ao_sample.h
index 5ae389be..af6eca4e 100644
--- a/src/kernel/ao_sample.h
+++ b/src/kernel/ao_sample.h
@@ -115,41 +115,41 @@ typedef int16_t ao_v_t;
#define AO_MS_TO_SPEED(ms) ((ao_v_t) ((ms) * 16))
#define AO_MSS_TO_ACCEL(mss) ((ao_v_t) ((mss) * 16))
-extern __pdata uint16_t ao_sample_tick; /* time of last data */
-extern __data uint8_t ao_sample_adc; /* Ring position of last processed sample */
-extern __data uint8_t ao_sample_data; /* Ring position of last processed sample */
+extern uint16_t ao_sample_tick; /* time of last data */
+extern uint8_t ao_sample_adc; /* Ring position of last processed sample */
+extern uint8_t ao_sample_data; /* Ring position of last processed sample */
#if HAS_BARO
-extern __pdata pres_t ao_sample_pres; /* most recent pressure sensor reading */
-extern __pdata alt_t ao_sample_alt; /* MSL of ao_sample_pres */
-extern __pdata alt_t ao_sample_height; /* AGL of ao_sample_pres */
-extern __pdata pres_t ao_ground_pres; /* startup pressure */
-extern __pdata alt_t ao_ground_height; /* MSL of ao_ground_pres */
+extern pres_t ao_sample_pres; /* most recent pressure sensor reading */
+extern alt_t ao_sample_alt; /* MSL of ao_sample_pres */
+extern alt_t ao_sample_height; /* AGL of ao_sample_pres */
+extern pres_t ao_ground_pres; /* startup pressure */
+extern alt_t ao_ground_height; /* MSL of ao_ground_pres */
#endif
#if HAS_ACCEL
-extern __pdata accel_t ao_sample_accel; /* most recent accel sensor reading */
-extern __pdata accel_t ao_ground_accel; /* startup acceleration */
-extern __pdata accel_t ao_accel_2g; /* factory accel calibration */
-extern __pdata int32_t ao_accel_scale; /* sensor to m/s² conversion */
+extern accel_t ao_sample_accel; /* most recent accel sensor reading */
+extern accel_t ao_ground_accel; /* startup acceleration */
+extern accel_t ao_accel_2g; /* factory accel calibration */
+extern int32_t ao_accel_scale; /* sensor to m/s² conversion */
#endif
#if HAS_GYRO
-extern __pdata accel_t ao_ground_accel_along;
-extern __pdata accel_t ao_ground_accel_across;
-extern __pdata accel_t ao_ground_accel_through;
-extern __pdata int32_t ao_ground_pitch; /* * 512 */
-extern __pdata int32_t ao_ground_yaw; /* * 512 */
-extern __pdata int32_t ao_ground_roll; /* * 512 */
-extern __pdata accel_t ao_sample_accel_along;
-extern __pdata accel_t ao_sample_accel_across;
-extern __pdata accel_t ao_sample_accel_through;
-extern __pdata gyro_t ao_sample_roll;
-extern __pdata gyro_t ao_sample_pitch;
-extern __pdata gyro_t ao_sample_yaw;
+extern accel_t ao_ground_accel_along;
+extern accel_t ao_ground_accel_across;
+extern accel_t ao_ground_accel_through;
+extern int32_t ao_ground_pitch; /* * 512 */
+extern int32_t ao_ground_yaw; /* * 512 */
+extern int32_t ao_ground_roll; /* * 512 */
+extern accel_t ao_sample_accel_along;
+extern accel_t ao_sample_accel_across;
+extern accel_t ao_sample_accel_through;
+extern gyro_t ao_sample_roll;
+extern gyro_t ao_sample_pitch;
+extern gyro_t ao_sample_yaw;
#define AO_NUM_ORIENT 64
-extern __pdata angle_t ao_sample_orient;
-extern __pdata angle_t ao_sample_orients[AO_NUM_ORIENT];
-extern __pdata uint8_t ao_sample_orient_pos;
+extern angle_t ao_sample_orient;
+extern angle_t ao_sample_orients[AO_NUM_ORIENT];
+extern uint8_t ao_sample_orient_pos;
#endif
void ao_sample_init(void);
@@ -176,19 +176,19 @@ uint8_t ao_sample(void);
#define from_fix(x) ((x) >> 16)
-extern __pdata ao_v_t ao_height; /* meters */
-extern __pdata ao_v_t ao_speed; /* m/s * 16 */
-extern __pdata ao_v_t ao_accel; /* m/s² * 16 */
-extern __xdata ao_v_t ao_max_height; /* max of ao_height */
-extern __xdata ao_v_t ao_avg_height; /* running average of height */
+extern ao_v_t ao_height; /* meters */
+extern ao_v_t ao_speed; /* m/s * 16 */
+extern ao_v_t ao_accel; /* m/s² * 16 */
+extern ao_v_t ao_max_height; /* max of ao_height */
+extern ao_v_t ao_avg_height; /* running average of height */
-extern __pdata ao_v_t ao_error_h;
+extern ao_v_t ao_error_h;
#if !HAS_ACCEL
-extern __pdata ao_v_t ao_error_h_sq_avg;
+extern ao_v_t ao_error_h_sq_avg;
#endif
#if HAS_ACCEL
-extern __pdata ao_v_t ao_error_a;
+extern ao_v_t ao_error_a;
#endif
#endif
diff --git a/src/kernel/ao_sample_profile.c b/src/kernel/ao_sample_profile.c
index 4819a161..b9d0e07f 100644
--- a/src/kernel/ao_sample_profile.c
+++ b/src/kernel/ao_sample_profile.c
@@ -160,7 +160,7 @@ ao_sample_profile_cmd(void)
}
}
-static __code struct ao_cmds ao_sample_profile_cmds[] = {
+static const struct ao_cmds ao_sample_profile_cmds[] = {
{ ao_sample_profile_cmd, "S <1 start,0 stop, d dump,c clear>\0Sample profile" },
{ 0, NULL }
};
diff --git a/src/kernel/ao_send_packet.c b/src/kernel/ao_send_packet.c
index c8a1d46e..3206b2d6 100644
--- a/src/kernel/ao_send_packet.c
+++ b/src/kernel/ao_send_packet.c
@@ -20,14 +20,14 @@
#define AO_MAX_SEND 128
-static __xdata uint8_t ao_send[AO_MAX_SEND];
+static uint8_t ao_send[AO_MAX_SEND];
static void
ao_send_packet(void)
{
- __pdata uint16_t count;
+ uint16_t count;
uint8_t b;
- __pdata uint8_t i;
+ uint8_t i;
ao_cmd_hex();
count = ao_cmd_lex_i;
@@ -47,7 +47,7 @@ ao_send_packet(void)
ao_radio_send(ao_send, count);
}
-static __code struct ao_cmds ao_send_packet_cmds[] = {
+static const struct ao_cmds ao_send_packet_cmds[] = {
{ ao_send_packet, "S <len>\0Send packet. Data on next line" },
{ 0, NULL }
};
diff --git a/src/kernel/ao_serial.h b/src/kernel/ao_serial.h
index ef3e93d7..440b562b 100644
--- a/src/kernel/ao_serial.h
+++ b/src/kernel/ao_serial.h
@@ -26,8 +26,8 @@
#define AO_SERIAL_SPEED_115200 4
#if HAS_SERIAL_0
-extern volatile __xdata struct ao_fifo ao_serial0_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial0_tx_fifo;
+extern volatile struct ao_fifo ao_serial0_rx_fifo;
+extern volatile struct ao_fifo ao_serial0_tx_fifo;
char
ao_serial0_getchar(void);
@@ -49,8 +49,8 @@ ao_serial0_set_speed(uint8_t speed);
#endif
#if HAS_SERIAL_1
-extern volatile __xdata struct ao_fifo ao_serial1_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial1_tx_fifo;
+extern volatile struct ao_fifo ao_serial1_rx_fifo;
+extern volatile struct ao_fifo ao_serial1_tx_fifo;
char
ao_serial1_getchar(void);
@@ -72,8 +72,8 @@ ao_serial1_set_speed(uint8_t speed);
#endif
#if HAS_SERIAL_2
-extern volatile __xdata struct ao_fifo ao_serial2_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial2_tx_fifo;
+extern volatile struct ao_fifo ao_serial2_rx_fifo;
+extern volatile struct ao_fifo ao_serial2_tx_fifo;
char
ao_serial2_getchar(void);
@@ -95,8 +95,8 @@ ao_serial2_set_speed(uint8_t speed);
#endif
#if HAS_SERIAL_3
-extern volatile __xdata struct ao_fifo ao_serial3_rx_fifo;
-extern volatile __xdata struct ao_fifo ao_serial3_tx_fifo;
+extern volatile struct ao_fifo ao_serial3_rx_fifo;
+extern volatile struct ao_fifo ao_serial3_tx_fifo;
char
ao_serial3_getchar(void);
diff --git a/src/kernel/ao_stdio.c b/src/kernel/ao_stdio.c
index 227499c8..c3b51d12 100644
--- a/src/kernel/ao_stdio.c
+++ b/src/kernel/ao_stdio.c
@@ -72,13 +72,13 @@
#define AO_NUM_STDIOS (HAS_USB + PACKET_HAS_SLAVE + USE_SERIAL_STDIN + CONSOLE_STDIN)
-__xdata struct ao_stdio ao_stdios[AO_NUM_STDIOS];
+struct ao_stdio ao_stdios[AO_NUM_STDIOS];
#if AO_NUM_STDIOS > 1
-__pdata int8_t ao_cur_stdio;
-__pdata int8_t ao_num_stdios;
+int8_t ao_cur_stdio;
+int8_t ao_num_stdios;
#else
-__pdata int8_t ao_cur_stdio;
+int8_t ao_cur_stdio;
#define ao_cur_stdio 0
#define ao_num_stdios 0
#endif
@@ -108,10 +108,10 @@ flush(void)
ao_stdios[ao_cur_stdio].flush();
}
-__xdata uint8_t ao_stdin_ready;
+uint8_t ao_stdin_ready;
char
-ao_getchar(void) __reentrant
+ao_getchar(void)
{
int c;
int8_t stdio;
@@ -145,7 +145,7 @@ ao_echo(void)
int8_t
ao_add_stdio(int (*_pollchar)(void),
void (*putchar)(char),
- void (*flush)(void)) __reentrant
+ void (*flush)(void))
{
if (ao_num_stdios == AO_NUM_STDIOS)
ao_panic(AO_PANIC_STDIO);
diff --git a/src/kernel/ao_storage.c b/src/kernel/ao_storage.c
index 400751de..5292e120 100644
--- a/src/kernel/ao_storage.c
+++ b/src/kernel/ao_storage.c
@@ -20,7 +20,7 @@
#include <ao_storage.h>
uint8_t
-ao_storage_read(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant
+ao_storage_read(ao_pos_t pos, void *buf, uint16_t len)
{
#ifdef CC1111
return ao_storage_device_read(pos, buf, len);
@@ -54,7 +54,7 @@ ao_storage_read(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant
}
uint8_t
-ao_storage_write(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant
+ao_storage_write(ao_pos_t pos, void *buf, uint16_t len)
{
#ifdef CC1111
return ao_storage_device_write(pos, buf, len);
@@ -87,10 +87,10 @@ ao_storage_write(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant
#endif
}
-static __xdata uint8_t storage_data[128];
+static uint8_t storage_data[128];
static void
-ao_storage_dump(void) __reentrant
+ao_storage_dump(void)
{
uint8_t i, j;
@@ -118,12 +118,12 @@ ao_storage_dump(void) __reentrant
/* not enough space for this today
*/
static void
-ao_storage_store(void) __reentrant
+ao_storage_store(void)
{
uint16_t block;
uint8_t i;
uint16_t len;
- static __xdata uint8_t b;
+ static uint8_t b;
uint32_t addr;
ao_cmd_hex();
@@ -147,7 +147,7 @@ ao_storage_store(void) __reentrant
#endif
void
-ao_storage_zap(void) __reentrant
+ao_storage_zap(void)
{
ao_cmd_hex();
if (ao_cmd_status != ao_cmd_success)
@@ -156,7 +156,7 @@ ao_storage_zap(void) __reentrant
}
void
-ao_storage_zapall(void) __reentrant
+ao_storage_zapall(void)
{
uint32_t pos;
@@ -272,7 +272,7 @@ ao_storage_incr_check_block(uint32_t pos)
}
static uint8_t
-ao_storage_test_block(uint32_t pos) __reentrant
+ao_storage_test_block(uint32_t pos)
{
ao_storage_erase(pos);
printf(" erase"); flush();
@@ -299,7 +299,7 @@ ao_storage_test_block(uint32_t pos) __reentrant
}
static void
-ao_storage_test(void) __reentrant
+ao_storage_test(void)
{
uint32_t pos;
@@ -316,7 +316,7 @@ ao_storage_test(void) __reentrant
#endif /* AO_STORAGE_TEST */
void
-ao_storage_info(void) __reentrant
+ao_storage_info(void)
{
ao_storage_setup();
printf("Storage size: %ld\n", (long) ao_storage_total);
@@ -324,7 +324,7 @@ ao_storage_info(void) __reentrant
ao_storage_device_info();
}
-__code struct ao_cmds ao_storage_cmds[] = {
+const struct ao_cmds ao_storage_cmds[] = {
{ ao_storage_info, "f\0Show storage" },
{ ao_storage_dump, "e <block>\0Dump flash" },
#if HAS_STORAGE_DEBUG
diff --git a/src/kernel/ao_storage.h b/src/kernel/ao_storage.h
index 59b137ad..cf37a824 100644
--- a/src/kernel/ao_storage.h
+++ b/src/kernel/ao_storage.h
@@ -31,10 +31,10 @@
typedef ao_storage_pos_t ao_pos_t;
/* Total bytes of available storage */
-extern __pdata ao_pos_t ao_storage_total;
+extern ao_pos_t ao_storage_total;
/* Block size - device is erased in these units. At least 256 bytes */
-extern __pdata ao_pos_t ao_storage_block;
+extern ao_pos_t ao_storage_block;
#ifndef USE_STORAGE_CONFIG
#define USE_STORAGE_CONFIG 1
@@ -42,7 +42,7 @@ extern __pdata ao_pos_t ao_storage_block;
#if USE_STORAGE_CONFIG
/* Byte offset of config block. Will be ao_storage_block bytes long */
-extern __pdata ao_pos_t ao_storage_config;
+extern ao_pos_t ao_storage_config;
#define ao_storage_log_max ao_storage_config
#else
@@ -50,27 +50,27 @@ extern __pdata ao_pos_t ao_storage_config;
#endif
/* Storage unit size - device reads and writes must be within blocks of this size. Usually 256 bytes. */
-extern __pdata uint16_t ao_storage_unit;
+extern uint16_t ao_storage_unit;
/* Initialize above values. Can only be called once the OS is running */
void
-ao_storage_setup(void) __reentrant;
+ao_storage_setup(void);
/* Write data. Returns 0 on failure, 1 on success */
uint8_t
-ao_storage_write(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant;
+ao_storage_write(ao_pos_t pos, void *buf, uint16_t len);
/* Read data. Returns 0 on failure, 1 on success */
uint8_t
-ao_storage_read(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant;
+ao_storage_read(ao_pos_t pos, void *buf, uint16_t len);
/* Erase a block of storage. This always clears ao_storage_block bytes */
uint8_t
-ao_storage_erase(ao_pos_t pos) __reentrant;
+ao_storage_erase(ao_pos_t pos);
/* Flush any pending writes to stable storage */
void
-ao_storage_flush(void) __reentrant;
+ao_storage_flush(void);
/* Initialize the storage code */
void
@@ -82,11 +82,11 @@ ao_storage_init(void);
/* Read data within a storage unit */
uint8_t
-ao_storage_device_read(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant;
+ao_storage_device_read(ao_pos_t pos, void *buf, uint16_t len);
/* Write data within a storage unit */
uint8_t
-ao_storage_device_write(ao_pos_t pos, __xdata void *buf, uint16_t len) __reentrant;
+ao_storage_device_write(ao_pos_t pos, void *buf, uint16_t len);
/* Initialize low-level device bits */
void
@@ -94,6 +94,6 @@ ao_storage_device_init(void);
/* Print out information about flash chips */
void
-ao_storage_device_info(void) __reentrant;
+ao_storage_device_info(void);
#endif /* _AO_STORAGE_H_ */
diff --git a/src/kernel/ao_task.c b/src/kernel/ao_task.c
index de23ea02..4f7072cb 100644
--- a/src/kernel/ao_task.c
+++ b/src/kernel/ao_task.c
@@ -29,12 +29,12 @@
#define AO_NO_TASK_INDEX 0xff
-__xdata struct ao_task * __xdata ao_tasks[AO_NUM_TASKS];
-__data uint8_t ao_num_tasks;
-__xdata struct ao_task *__data ao_cur_task;
+struct ao_task * ao_tasks[AO_NUM_TASKS];
+uint8_t ao_num_tasks;
+struct ao_task *ao_cur_task;
#if !HAS_TASK_QUEUE
-static __data uint8_t ao_cur_task_index;
+static uint8_t ao_cur_task_index;
#endif
#ifdef ao_arch_task_globals
@@ -290,7 +290,7 @@ ao_task_validate(void)
#endif /* HAS_TASK_QUEUE */
void
-ao_add_task(__xdata struct ao_task * task, void (*start)(void), __code char *name) __reentrant
+ao_add_task(struct ao_task * task, void (*start)(void), const char *name)
{
uint8_t task_id;
uint8_t t;
@@ -321,7 +321,7 @@ ao_add_task(__xdata struct ao_task * task, void (*start)(void), __code char *nam
);
}
-__data uint8_t ao_task_minimize_latency;
+uint8_t ao_task_minimize_latency;
/* Task switching function. This must not use any stack variables */
void
@@ -382,7 +382,7 @@ ao_yield(void) ao_arch_naked_define
ao_cur_task = ao_list_first_entry(&run_queue, struct ao_task, queue);
#else
{
- __pdata uint8_t ao_last_task_index = ao_cur_task_index;
+ uint8_t ao_last_task_index = ao_cur_task_index;
for (;;) {
++ao_cur_task_index;
if (ao_cur_task_index == ao_num_tasks)
@@ -418,7 +418,7 @@ ao_yield(void) ao_arch_naked_define
}
uint8_t
-ao_sleep(__xdata void *wchan)
+ao_sleep(void *wchan)
{
#if HAS_TASK_QUEUE
uint32_t flags;
@@ -439,7 +439,7 @@ ao_sleep(__xdata void *wchan)
}
void
-ao_wakeup(__xdata void *wchan) __reentrant
+ao_wakeup(void *wchan)
{
ao_validate_cur_stack();
#if HAS_TASK_QUEUE
@@ -470,7 +470,7 @@ ao_wakeup(__xdata void *wchan) __reentrant
}
uint8_t
-ao_sleep_for(__xdata void *wchan, uint16_t timeout)
+ao_sleep_for(void *wchan, uint16_t timeout)
{
uint8_t ret;
if (timeout) {
@@ -504,7 +504,7 @@ ao_sleep_for(__xdata void *wchan, uint16_t timeout)
return ret;
}
-static __xdata uint8_t ao_forever;
+static uint8_t ao_forever;
void
ao_delay(uint16_t ticks)
@@ -541,7 +541,7 @@ void
ao_task_info(void)
{
uint8_t i;
- __xdata struct ao_task *task;
+ struct ao_task *task;
uint16_t now = ao_time();
for (i = 0; i < ao_num_tasks; i++) {
diff --git a/src/kernel/ao_task.h b/src/kernel/ao_task.h
index 7549b598..ffeb7313 100644
--- a/src/kernel/ao_task.h
+++ b/src/kernel/ao_task.h
@@ -39,11 +39,11 @@
/* An AltOS task */
struct ao_task {
- __xdata void *wchan; /* current wait channel (NULL if running) */
+ void *wchan; /* current wait channel (NULL if running) */
uint16_t alarm; /* abort ao_sleep time */
ao_arch_task_members /* any architecture-specific fields */
uint8_t task_id; /* unique id */
- __code char *name; /* task name */
+ const char *name; /* task name */
#ifdef NEWLIB
int __errno; /* storage for errno in newlib libc */
#endif
@@ -66,10 +66,10 @@ struct ao_task {
#define AO_NO_TASK 0 /* no task id */
-extern __xdata struct ao_task * __xdata ao_tasks[AO_NUM_TASKS];
-extern __data uint8_t ao_num_tasks;
-extern __xdata struct ao_task *__data ao_cur_task;
-extern __data uint8_t ao_task_minimize_latency; /* Reduce IRQ latency */
+extern struct ao_task * ao_tasks[AO_NUM_TASKS];
+extern uint8_t ao_num_tasks;
+extern struct ao_task *ao_cur_task;
+extern uint8_t ao_task_minimize_latency; /* Reduce IRQ latency */
#ifndef HAS_ARCH_VALIDATE_CUR_STACK
#define ao_validate_cur_stack()
@@ -85,7 +85,7 @@ extern __data uint8_t ao_task_minimize_latency; /* Reduce IRQ latency */
* 1 on alarm
*/
uint8_t
-ao_sleep(__xdata void *wchan);
+ao_sleep(void *wchan);
/* Suspend the current task until wchan is awoken or the timeout
* expires. returns:
@@ -93,11 +93,11 @@ ao_sleep(__xdata void *wchan);
* 1 on alarm
*/
uint8_t
-ao_sleep_for(__xdata void *wchan, uint16_t timeout);
+ao_sleep_for(void *wchan, uint16_t timeout);
/* Wake all tasks sleeping on wchan */
void
-ao_wakeup(__xdata void *wchan) __reentrant;
+ao_wakeup(void *wchan);
#if 0
/* set an alarm to go off in 'delay' ticks */
@@ -115,7 +115,7 @@ ao_yield(void) ao_arch_naked_declare;
/* Add a task to the run queue */
void
-ao_add_task(__xdata struct ao_task * task, void (*start)(void), __code char *name) __reentrant;
+ao_add_task(struct ao_task * task, void (*start)(void), const char *name);
#if HAS_TASK_QUEUE
/* Called on timer interrupt to check alarms */
diff --git a/src/kernel/ao_telemetry.c b/src/kernel/ao_telemetry.c
index 8ff28fde..9e1304f7 100644
--- a/src/kernel/ao_telemetry.c
+++ b/src/kernel/ao_telemetry.c
@@ -20,10 +20,10 @@
#include "ao_log.h"
#include "ao_product.h"
-static __pdata uint16_t ao_telemetry_interval;
+static uint16_t ao_telemetry_interval;
#if HAS_RADIO_RATE
-static __xdata uint16_t ao_telemetry_desired_interval;
+static uint16_t ao_telemetry_desired_interval;
#endif
/* TeleMetrum v1.0 just doesn't have enough space to
@@ -37,10 +37,10 @@ static __xdata uint16_t ao_telemetry_desired_interval;
#ifdef SIMPLIFY
#define ao_telemetry_time time
-#define RDF_SPACE __pdata
+#define RDF_SPACE
#else
-#define RDF_SPACE __xdata
-static __pdata uint16_t ao_telemetry_time;
+#define RDF_SPACE
+static uint16_t ao_telemetry_time;
#endif
#if HAS_RDF
@@ -49,7 +49,7 @@ static RDF_SPACE uint16_t ao_rdf_time;
#endif
#if HAS_APRS
-static __pdata uint16_t ao_aprs_time;
+static uint16_t ao_aprs_time;
#include <ao_aprs.h>
#endif
@@ -74,7 +74,7 @@ static __pdata uint16_t ao_aprs_time;
#define AO_TELEMETRY_SENSOR AO_TELEMETRY_SENSOR_TELENANO
#endif
-static __xdata union ao_telemetry_all telemetry;
+static union ao_telemetry_all telemetry;
static void
ao_telemetry_send(void)
@@ -88,7 +88,7 @@ ao_telemetry_send(void)
static void
ao_send_sensor(void)
{
- __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+ struct ao_data *packet = (struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
telemetry.generic.tick = packet->tick;
telemetry.generic.type = AO_TELEMETRY_SENSOR;
@@ -136,7 +136,7 @@ ao_send_sensor(void)
static void
ao_send_mega_sensor(void)
{
- __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+ struct ao_data *packet = (struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
telemetry.generic.tick = packet->tick;
telemetry.generic.type = AO_TELEMETRY_MEGA_SENSOR;
@@ -181,15 +181,15 @@ ao_send_mega_sensor(void)
ao_telemetry_send();
}
-static __pdata int8_t ao_telemetry_mega_data_max;
-static __pdata int8_t ao_telemetry_mega_data_cur;
+static int8_t ao_telemetry_mega_data_max;
+static int8_t ao_telemetry_mega_data_cur;
/* Send mega data packet */
static void
ao_send_mega_data(void)
{
if (--ao_telemetry_mega_data_cur <= 0) {
- __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+ struct ao_data *packet = (struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
uint8_t i;
telemetry.generic.tick = packet->tick;
@@ -223,7 +223,7 @@ ao_send_mega_data(void)
static void
ao_send_metrum_sensor(void)
{
- __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+ struct ao_data *packet = (struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
telemetry.generic.tick = packet->tick;
telemetry.generic.type = AO_TELEMETRY_METRUM_SENSOR;
@@ -246,15 +246,15 @@ ao_send_metrum_sensor(void)
ao_telemetry_send();
}
-static __pdata int8_t ao_telemetry_metrum_data_max;
-static __pdata int8_t ao_telemetry_metrum_data_cur;
+static int8_t ao_telemetry_metrum_data_max;
+static int8_t ao_telemetry_metrum_data_cur;
/* Send telemetrum data packet */
static void
ao_send_metrum_data(void)
{
if (--ao_telemetry_metrum_data_cur <= 0) {
- __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+ struct ao_data *packet = (struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
telemetry.generic.tick = packet->tick;
telemetry.generic.type = AO_TELEMETRY_METRUM_DATA;
@@ -281,7 +281,7 @@ ao_send_metrum_data(void)
static void
ao_send_mini(void)
{
- __xdata struct ao_data *packet = (__xdata struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
+ struct ao_data *packet = (struct ao_data *) &ao_data_ring[ao_data_ring_prev(ao_sample_data)];
telemetry.generic.tick = packet->tick;
telemetry.generic.type = AO_SEND_MINI;
@@ -306,9 +306,9 @@ ao_send_mini(void)
#endif /* AO_SEND_MINI */
-static __pdata int8_t ao_telemetry_config_max;
-static __pdata int8_t ao_telemetry_config_cur;
-static __pdata uint16_t ao_telemetry_flight_number;
+static int8_t ao_telemetry_config_max;
+static int8_t ao_telemetry_config_cur;
+static uint16_t ao_telemetry_flight_number;
#ifndef ao_telemetry_battery_convert
#define ao_telemetry_battery_convert(a) (a)
@@ -346,9 +346,9 @@ ao_send_configuration(void)
#if HAS_GPS
-static __pdata int8_t ao_telemetry_gps_max;
-static __pdata int8_t ao_telemetry_loc_cur;
-static __pdata int8_t ao_telemetry_sat_cur;
+static int8_t ao_telemetry_gps_max;
+static int8_t ao_telemetry_loc_cur;
+static int8_t ao_telemetry_sat_cur;
static void
ao_send_location(void)
@@ -387,8 +387,8 @@ ao_send_satellite(void)
#if HAS_COMPANION
-static __pdata int8_t ao_telemetry_companion_max;
-static __pdata int8_t ao_telemetry_companion_cur;
+static int8_t ao_telemetry_companion_max;
+static int8_t ao_telemetry_companion_cur;
static void
ao_send_companion(void)
@@ -536,7 +536,7 @@ ao_telemetry_set_interval(uint16_t interval)
#if HAS_RADIO_RATE
/* Limit max telemetry rate based on available radio bandwidth.
*/
- static __xdata const uint16_t min_interval[] = {
+ static const uint16_t min_interval[] = {
/* [AO_RADIO_RATE_38400] = */ AO_MS_TO_TICKS(100),
/* [AO_RADIO_RATE_9600] = */ AO_MS_TO_TICKS(500),
/* [AO_RADIO_RATE_2400] = */ AO_MS_TO_TICKS(1000)
@@ -613,7 +613,7 @@ ao_rdf_set(uint8_t rdf)
}
#endif
-__xdata struct ao_task ao_telemetry_task;
+struct ao_task ao_telemetry_task;
void
ao_telemetry_init()
diff --git a/src/kernel/ao_usb.h b/src/kernel/ao_usb.h
index 40516de1..7992c806 100644
--- a/src/kernel/ao_usb.h
+++ b/src/kernel/ao_usb.h
@@ -69,7 +69,7 @@ ao_usb_disable(void);
void
ao_usb_init(void);
-extern __code __at (0x00aa) uint8_t ao_usb_descriptors [];
+extern const __at (0x00aa) uint8_t ao_usb_descriptors [];
#define AO_USB_SETUP_DIR_MASK (0x01 << 7)
#define AO_USB_SETUP_TYPE_MASK (0x03 << 5)
@@ -176,8 +176,8 @@ struct ao_usb_line_coding {
uint8_t data_bits;
} ;
-extern __xdata struct ao_usb_line_coding ao_usb_line_coding;
+extern struct ao_usb_line_coding ao_usb_line_coding;
-extern __pdata uint8_t ao_usb_running;
+extern uint8_t ao_usb_running;
#endif /* _AO_USB_H_ */