-
Notifications
You must be signed in to change notification settings - Fork 3
/
README.old
123 lines (81 loc) · 3.9 KB
/
README.old
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
This fork adds a variometer, an instrument indicating vertical speed,
essentially for use in free flight (paragliding, hang gliding, ...).
Initially based on the vario source coded by dkm, I ended up rewriting
that module completely.
- Pressing the "v" (down) button cycles between displays as follows:
* vario (in m/s)
Displays a signed fractional value representing the ascent or
descent speed in meters per second.
* vario (in Pascal)
Displays a signed integer value representing the ascent or
descent speed in Pascal/second.
* pressure (in hPa)
Displays a signed fraction representing the pressure measured at
the current altitude.
* max Vz (in m/s)
Displays the maximum vertical speed in meters/second.
* min Vz (in m/s)
Displays the minimum vertical speed in meters/second.
- A long press on the "#" button performs a context sensitive function:
* during vario display, changes the vario sound mode:
Off (default, no symbol displayed)
Ascent 0 (start beeping at 0.0m/s, beeper1 and beeper2 symbols
displayed)
Ascent 1 (start beeping at 0.1m/s, beeper1 symbol displayed)
Both (beep for up or down, beeper1 and beeper2 symbols
displayed)
Tone frequency, number and duration of beeps depend on climb rate.
* during max/min Vz display, resets both the max and min values.
- The "record" icon is flashed at one second intervals, indicating that
the watch is in vario mode and receiving pressure measurements.
Note that the upper line must be in altimeter mode for the vario to
work, as it relies on updates from the altimeter. If the altimeter
is not active, the vario display shows "noAlt".
== Status ==
Works, but in development :-)
== Requirements ==
msp430-gcc4 http://mspgcc4.sourceforge.net/
make
python http://python.org
== Supported Compilers ==
msp430-gcc4
Working combinations:
gcc=4.4.3 binutils=2.20.1 libc=20100430
IAR msp430
Patches for more (more efficient) compilers are welcome :-)
== HOWTO ==
Copy gcc/intrinsics.h into [msp430-gcc-path]/msp430/include/intrinsics.h
To configure your image, run:
make config
which will generate a config.h file that contains the settings for your build.
To compile the image run:
make
It is HIGHLY suggested to make a clean build before you flash the image with:
make clean main
== Problems ==
* Compile / Link problems:
If you get error messages like this one:
msp430/bin/ld: build/eZChronos.elf section `.text' will not fit in region `text'
.../msp430/bin/ld: section .vectors loaded at [000000000000ff80,000000000000ffff] overlaps section .text loaded at [0000000000008000,0000000000013343]
.../msp430/bin/ld: region `text' overflowed by 13250 bytes
collect2: ld returned 1 exit status
or
section .vectors loaded at [0000ff80,0000ffff] overlaps section .data loaded at [0000ff4e,0000ffcb]
Your image is simply to large and will not fit into the flash. Try to disable some modules with make config and try again
Or even better, send some patches that reduce code size ;-)
== Difference to the TI Firmware ==
* More Features that can be configured with make config
* Day of week
* Disable 12h support (saves space)
* Sleep Phase Clock - primary designed for http://github.com/poelzi/uberclock
* The wireless flashing starts differently:
Select RFBSL, Press DOWN to unlock, Press # long to start
* No BlueRobin support. BlueRobin is a closed source binary blob.
We don't have a compatible object file for that
* Pressing STAR and UP long sets silent mode (no beep)
== Usefull Tools ==
* mspdebug - debugger, proxy for gdb, flasher, ...
http://mspdebug.sourceforge.net
* msp430static - static analyzer for sourcecode
http://msp430static.sourceforge.net/
run 'make source_index' to index all source files