projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos]
/
src
/
kernel
/
ao.h
diff --git
a/src/kernel/ao.h
b/src/kernel/ao.h
index 9c0c86044558ba0d417d3d144eaa81a98b0c95f7..af070cc11c5fdded1ca1a8e5d63b76315a57a933 100644
(file)
--- a/
src/kernel/ao.h
+++ b/
src/kernel/ao.h
@@
-42,6
+42,11
@@
extern char ao_getchar(void);
typedef AO_PORT_TYPE ao_port_t;
typedef AO_PORT_TYPE ao_port_t;
+#ifndef AO_TICK_TYPE
+#define AO_TICK_TYPE uint32_t
+#define AO_TICK_SIGNED int32_t
+#endif
+
#if HAS_TASK
#include <ao_task.h>
#else
#if HAS_TASK
#include <ao_task.h>
#else
@@
-75,21
+80,31
@@
typedef AO_PORT_TYPE ao_port_t;
#define AO_PANIC_SELF_TEST_HMC5883 0x40 | 2 /* Self test failure */
#define AO_PANIC_SELF_TEST_MPU6000 0x40 | 3 /* Self test failure */
#define AO_PANIC_SELF_TEST_MPU9250 0x40 | 3 /* Self test failure */
#define AO_PANIC_SELF_TEST_HMC5883 0x40 | 2 /* Self test failure */
#define AO_PANIC_SELF_TEST_MPU6000 0x40 | 3 /* Self test failure */
#define AO_PANIC_SELF_TEST_MPU9250 0x40 | 3 /* Self test failure */
+#define AO_PANIC_SELF_TEST_BMX160 0x40 | 3 /* Self test failure */
#define AO_PANIC_SELF_TEST_MS5607 0x40 | 4 /* Self test failure */
#define AO_PANIC_SELF_TEST_MS5607 0x40 | 4 /* Self test failure */
+#define AO_PANIC_SELF_TEST_ADS124S0X 0x40 | 5 /* Self test failure */
/* Stop the operating system, beeping and blinking the reason */
void
/* Stop the operating system, beeping and blinking the reason */
void
-ao_panic(uint8_t reason);
+ao_panic(uint8_t reason)
__attribute__((noreturn))
;
/*
/*
- * ao_
timer
.c
+ * ao_
romconfig
.c
*/
*/
-#ifndef AO_TICK_TYPE
-#define AO_TICK_TYPE uint16_t
-#define AO_TICK_SIGNED int16_t
+#define AO_ROMCONFIG_VERSION 2
+
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_version;
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_romconfig_check;
+extern AO_ROMCONFIG_SYMBOL uint16_t ao_serial_number;
+#if HAS_RADIO
+extern AO_ROMCONFIG_SYMBOL uint32_t ao_radio_cal;
#endif
#endif
+/*
+ * ao_timer.c
+ */
+
extern volatile AO_TICK_TYPE ao_tick_count;
/* Our timer runs at 100Hz */
extern volatile AO_TICK_TYPE ao_tick_count;
/* Our timer runs at 100Hz */
@@
-103,9
+118,13
@@
extern volatile AO_TICK_TYPE ao_tick_count;
AO_TICK_TYPE
ao_time(void);
AO_TICK_TYPE
ao_time(void);
+/* Returns the current time in ns */
+uint64_t
+ao_time_ns(void);
+
/* Suspend the current task until ticks time has passed */
void
/* Suspend the current task until ticks time has passed */
void
-ao_delay(
uint16_t
ticks);
+ao_delay(
AO_TICK_TYPE
ticks);
/* Set the ADC interval */
void
/* Set the ADC interval */
void
@@
-230,7
+249,7
@@
ao_cmd_filter(void);
#include <ao_beep.h>
#endif
#include <ao_beep.h>
#endif
-#if LEDS_AVAILABLE
+#if LEDS_AVAILABLE
|| HAS_LED
#include <ao_led.h>
#endif
#include <ao_led.h>
#endif
@@
-370,7
+389,7
@@
ao_spi_slave(void);
#define AO_GPS_NEW_TRACKING 2
extern uint8_t ao_gps_new;
#define AO_GPS_NEW_TRACKING 2
extern uint8_t ao_gps_new;
-extern
uint16_t
ao_gps_tick;
+extern
AO_TICK_TYPE
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;
extern uint8_t ao_gps_mutex;
extern struct ao_telemetry_location ao_gps_data;
extern struct ao_telemetry_satellite ao_gps_tracking_data;
@@
-730,9
+749,6
@@
enum ao_igniter {
ao_igniter_main = 1
};
ao_igniter_main = 1
};
-void
-ao_ignite(enum ao_igniter igniter);
-
enum ao_igniter_status {
ao_igniter_unknown, /* unknown status (ambiguous voltage) */
ao_igniter_ready, /* continuity detected */
enum ao_igniter_status {
ao_igniter_unknown, /* unknown status (ambiguous voltage) */
ao_igniter_ready, /* continuity detected */
@@
-919,12
+935,6
@@
ao_log_single(void);
#define AO_TELEPYRO_NUM_ADC 9
#define AO_TELEPYRO_NUM_ADC 9
-#ifndef ao_xmemcpy
-#define ao_xmemcpy(d,s,c) memcpy(d,s,c)
-#define ao_xmemset(d,v,c) memset(d,v,c)
-#define ao_xmemcmp(d,s,c) memcmp(d,s,c)
-#endif
-
/*
* ao_terraui.c
*/
/*
* ao_terraui.c
*/