Free Flight Computer

Home

Introduction

Specification

Photographs

Screenshots

Hardware

Software

Utilities

Physics

HISTORY

2000
2001
2002
2003
2004

Traces

Links

29/01/01        Altered dump so waits for empty buffer after each hex character rather
                than line.  Will work with all baud rates properly now.


05/02/01        Just do clrwdt again!
                Started work on draw_screen


06/02/01        Worked out big UDG characters required


07/02/01        Wrote draw_screen and program_udg code
                Started doing update_screen0 with big characters!


09/02/01        Did digitise routine


06/03/01        Finished update_screen0, adding couple more routines


08/03/01        Quick tidy of display_number and display_vario to remove trailing zeros
                Worked out what needed to go where for update_screen1


09/03/01        More work on lcd.asm


12/03/01        Completed screen 1 update, prepared for others.
                Added display_signed_word
                Renamed display_number to display_unsign_byte


19/03/01        Finished update screen routines
                Swapped order of initialisation in main.asm so reads in baro store
                to use before sets up pointers!
                Corrected 'send' command in uart.asm so doesn't have same problem
                'dump' originally did.


03/04/01        Added progress messages to boot-up


04/04/01        Wrote keypad handler


09/04/01        Started MMI handler, implemented screen change


16/04/01        Recompiled all nodes, removing compile errors


08/05/01        Shifted modules in memory so code fits into P16C76, all now linked
                ready for testing.

30/07/01        Removed bug from wait_1ms routine - called wait_5ms loop instead of
                its own wait_1ms loop.  As was not set up for this caused a very long
                delay (255 x 5ms) resulting in watchdog.

                Debugged reset_ext_adc (didn't pagesel wait_10ms)

                Debugged digitise routine


31/07/01        Concluded digitise routine debug
                Removed flaw in bignum execution (R0 corrupted, now use R6)


01/08/01        Changed pagesel macro where used for tables to explicit expansion.
                Compiler was using bsf and bcf for partial update of pclath instead
                due to processor type.  Hence wasn't updating all of pclath as
                required for a jump table!

                How cmd_table and cmd_jmp ever worked don't know!  bignum_table now
                works.


22/08/01        Missing bank select in initialisation, main.asm.


04/09/01        Work on LCD, now got displaying again.  Display does not show unless
                have cursor block flashing, and possibly underlined!

                Updated lcd.asm so uses LINE equates, and set so on correct lines
                for display!

                Now displays the first screen!  Does watchdog though :)

                Big chars look quite good!


05/09/01        Fixed problem with cursor on requirement!  Instruction is in fact
                00001DCB and not 00001BCD.  ie. I had the cursor blink and display
                on bits exchanged at the end of the reset_lcd routine :)

                Hopefully now sorted.


10/09/01        Sorted some incorrect banks.

                Commented out scheduler code to try and track down reset.  Suspect
                is overrange on bignum however, now trap this.  Seems to have fixed
                it for some reason.

                Tidied screen 0, started uncommenting code.


02/10/01        Investigations into why code resets on hw, but not in simulation


03/01/01        Implemented setpage macro in main.asm; suspect bitselect version of
                pagesel is reason for above.


27/12/01        Changed all pagesel to setpage.

                Fixed bugs in keypad handler.

                Discovered hardware (P16C73A) looks shagged.  Timer not working.

Back to top ...