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 ... |