|
Home
2001 2002 2003 2004
|
21/01/00 Project created from weather station.
25/01/00 Continued to re-cycle old code from Mandy. Introduced EEALLOC include
file and planned EEPROM storage. DATA module also now sensible.
29/01/00 Finished updating main.asm; concluded eealloc.inc.
30/01/00 Moved eeprom routines into own module, along with update_baro.
Add barograph and airtime timers
Implemented update_baro
Concluded updating old code - now well stuck into writing new stuff!
03/02/00 Added intialisation of variables from eeprom
Tidied up data structures and moved some stuff to bank 1
31/03/00 Started tidying up variable references and banks
01/04/00 Finished tidying up (banks sorted etc.)
Replaced PG polar curve with a HG VB one!
Calculated polar curve values from guess of HG performance
Added variables for altitude, vario, tas and temperaure!
Corrected some variable names and 24 bit code
Added R8, R9, R10 to keep life easy!
03/04/00 Implemented cmd0
04/04/00 Made wait_10ms available globally (for use by engineering module)
Replaced ENG_ERR and NUMBER with R11 and R12 in UART routines
Added R11, R12 to bank 0
Concluded UART routines
09/04/00 Add R13, R14, R15 and R16 to bank 0
Turned PRS_C into a signed 16 bit number
Integrated required maths routines and finished calibrate routine
12/04/00 Implemented measurement routines
22/04/00 Added 32 bit norm, multiply, divide, add and subract routines together
with R17-R28 in bank 1. Needed for ...
25/04/00 Started building measure.asm node.
29/04/00 Converted over to PIC16C76 and built all nodes, split maths into two
and added pagesel as so big (over 2K).
Built first hex file ready for testing non-MMI routines.
14/05/00 Tested following maths routines:
multiplyfloat OK
dividefloat OK
fpm32 OK
fpd32 OK
fps32 OK
fpa32 OK
ln OK for positive results, WRONG on neg
power FAIL
Power was because of simple error and also exp not working.
However, complaining that node had changed - may have as .asm was
later (possibly) than object. Recompiled math.asm and rebuilt.
13/06/00 Altered break in ln function so works.
14/06/00 Found true fault in ln function - had pagesel after a btfsc in
conv2float_signed routine. So it was in fact a conv2float_unsigned
routine!
Restored break to how microchip did it
15/06/00 Found another bug in my nrm2424 routine - was checking R11 instead
of R6 for sign. Hence ln was wrong sign sometimes etc..
Corrected paging problem in exp24 with some pagesels and moving
_math2 section. May be worth a tidy of pagesel sometime actually.
All maths routines seem to work! Yet to explicitely try all the
float/int conversion routines but these will soon become apparent if
they don't work.
19/06/00 Corrected small bug in conv2float_unsigned, was factor of two out
Corrected some serious bugs iun conv2int_signed & _unsigned.
Add labels to measure routines to aid testing
23/06/00 Altered measurement routine to work using floating point numbers now
have the capability for adding and subtracting. Much more accurate
as well - was hopeless before.
27/06/00 Correct asipressure calculation for zero floating case result.
04/07/00 Corrected scaling constant in altitude calculation.
Corrected timing in wait routines.
Rename read_byte in measure.asm to read_adc_byte to avoid confusion
with read_byte in ee.asm.
24/07/00 Started work on LCD code
16/10/00 Added cmd and data write routines and first 'FFC' test ...
21/10/00 Commented out sections of code so get up and running easier
Corrected LCD routines (quite radically)
Corrected interrupt init (enabled timer0 instead of periph interrupts)
Correct timer interrupt code (was using bank 0 instead of bank 1)
Added test beep to interrupt code for now
Correct UART baud rate so correct for 4MHz crystal and not 16MHz!
22/10/00 Max UART speed on P16C73A is 2400 baud! Set to this for now.
Dump runs out of room in buffer (only 16 chars) - sort this sometime
Uncommented more code in get-up-and-running process
10/12/00 Finally concluded why wasn't reading from adc correctly. Was
trampling on open-collector i/o by using bsf / bcf ops!
Also corrected read_eeprom and write_eeprom routines which were
initialising SDA output latch to high and not low. Would have
same problem :)
17/12/00 ADC still buggered - possibly. Think may know why (again).
Removed interface reset from code, still does it. So checked timings
again.
Self-cal takes 452ms for a 20Hz update rate.
Watchdog timer set to 576ms (1:32 prescaler). However the prescaler
may be reset on CLRWDT?
Removed unnecessary clrwdt from code and changed those in main.asm
to use a new routine (kick_dog) to restore the prescale value.
Back to top ... |