Arduino based annealer
- Initialise all the modules in setup()
- Run task for each module after specific interval.
- Interval for each task is defined in annealer.ino. These intervals and offsets need to be adujsted after testing e.g. task_ir will be executed after every TASK_INTV_IR ms interval with an offset of TASK_OFST_IR ms
- Each module is divided into High Level code (aa_modulename.ino) and Low Level Code (bb_modulename.ino)
- Each screen has its own struct to keep track of stae. e.g. SC1_STATE or SC2_STATE.
- Pin configurations can be done by updating Pin.h file
- To draw a screen, use tft_draw_scX() function, where X is screen id. e.g. tft_draw_sc1().
- To draw keyboard screen use function tft_draw_sckey()
- Case details like case ID, name, Time are stored in EEPROM. 1 byte for ID, 1 byte for Seconds, 1 byte for milliseconds and 20 bytes for Name so total 23 bytes per case. And details of maximum 20 cases can be stored.
- Total cases currently in the memory is defined at location SC1_MAX_CASES_ADDR
- All screen coordinates, text, shapes etc are defined in the screen folder
- Update TS_MINX, TS_MINY, TS_MAXX, TS_MAXY calibration values after testing
- Annealer.ino - main file
- PIN.h - pin configuration file
- aa_ed.ino - Easy driver/stepper motor/motor code
- aa_ir.ino - IR sensir code
- aa_servo.ino - Servo motor code
- aa_ssr.ino - Solid State Relay driving code
- aa_task.ino - High Level code of tasks
- aa_tft.ino - Screen printing code
- aa_touch.ino - Touch sensor code
- bb_tasks.ino - Low level task functions for support
- bb_tft.ino - Low level tft funcitons for support
- screen.h - For including all files in screen/