Skip to content

AjinkyaPasalkar/ard-annealer

Repository files navigation

ard-annealer

Arduino based annealer

Code flow

  1. Initialise all the modules in setup()
  2. Run task for each module after specific interval.
  3. 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

Code details

  1. Each module is divided into High Level code (aa_modulename.ino) and Low Level Code (bb_modulename.ino)
  2. Each screen has its own struct to keep track of stae. e.g. SC1_STATE or SC2_STATE.
  3. Pin configurations can be done by updating Pin.h file
  4. To draw a screen, use tft_draw_scX() function, where X is screen id. e.g. tft_draw_sc1().
  5. To draw keyboard screen use function tft_draw_sckey()
  6. 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.
  7. Total cases currently in the memory is defined at location SC1_MAX_CASES_ADDR
  8. All screen coordinates, text, shapes etc are defined in the screen folder
  9. Update TS_MINX, TS_MINY, TS_MAXX, TS_MAXY calibration values after testing

File description

  1. Annealer.ino - main file
  2. PIN.h - pin configuration file
  3. aa_ed.ino - Easy driver/stepper motor/motor code
  4. aa_ir.ino - IR sensir code
  5. aa_servo.ino - Servo motor code
  6. aa_ssr.ino - Solid State Relay driving code
  7. aa_task.ino - High Level code of tasks
  8. aa_tft.ino - Screen printing code
  9. aa_touch.ino - Touch sensor code
  10. bb_tasks.ino - Low level task functions for support
  11. bb_tft.ino - Low level tft funcitons for support
  12. screen.h - For including all files in screen/

About

Arduino based annealer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published