A GPS disciplined clock

Dependencies:   net lpc1768 crypto clock web log

Revision:
11:baa388c55583
Parent:
8:2ef0f459bc83
Child:
12:9bd8f04df514
--- a/settings/settings.c	Mon Nov 26 14:07:16 2018 +0000
+++ b/settings/settings.c	Mon Nov 26 18:45:01 2018 +0000
@@ -37,6 +37,18 @@
 #define GPREG4 (*((volatile unsigned *) 0x40024054))
 #define ALMON  (*((volatile unsigned *) 0x40024078))
 #define ALYEAR (*((volatile unsigned *) 0x4002407C))
+#define ALDOY  (*((volatile unsigned *) 0x40024074))
+
+/*
+ALSEC   6 Alarm value for Seconds      R/W 0x4002 4060
+ALMIN   6 Alarm value for Minutes      R/W 0x4002 4064
+ALHOUR  5 Alarm value for Hours        R/W 0x4002 4068
+ALDOM   5 Alarm value for Day of Month R/W 0x4002 406C
+ALDOW   3 Alarm value for Day of Week  R/W 0x4002 4070
+ALDOY   9 Alarm value for Day of Year  R/W 0x4002 4074
+ALMON   4 Alarm value for Months       R/W 0x4002 4078
+ALYEAR 12 Alarm value for Years        R/W 0x4002 407C
+*/
 
 enum { iLogUart, iNetStack, iNetNewLine, iNetVerbose, iLink, iDnsName, iDnsQuery, iDnsReply, iDnsServer,
        iNtp, iDhcp, iNsRecvSol, iNsRecvAdv, iNsSendSol, iNr4, iNr6, iNtpClient, iSync, iEcho4, iEcho6,
@@ -46,6 +58,15 @@
 int GetGpsLng()   { return GPREG2; } void SetGpsLng  (int value) { GPREG2 = value; }
 int GetGpsHgt()   { return GPREG3; } void SetGpsHgt  (int value) { GPREG3 = value; }
 
+int GetSensorHeight()
+{
+    return ALDOY; //9 bits
+}
+void SetSensorHeight(int value)
+{
+    ALDOY = value & 0x01FF; //9 bits
+}
+
 static bool getBit(int bit)
 {
     return GPREG4 & (1U << bit);