pentabug/firmware
2022-10-26 11:19:39 +02:00
..
apps Add examples and tasks 2015-03-11 21:36:52 +01:00
doc firmware: port documentation from open document text to inline doxygen 2015-04-19 21:55:22 +02:00
include/pentabug oopsie in doxygen led to commenting out way too much 2022-10-23 22:56:12 +02:00
lib Adjust thresholds 2014-09-13 11:22:58 +02:00
Doxyfile firmware: port documentation from open document text to inline doxygen 2015-04-19 21:55:22 +02:00
freq_table.h include frequency header file and delete its generation file 2015-04-19 21:19:44 +02:00
freq_table.md add calculation note for freq table 2022-10-26 11:19:39 +02:00
main.c tune app switch sound 2013-09-04 01:15:13 +02:00
Makefile Makefile: use only one way to flash 2022-10-23 22:56:31 +02:00
README.md comment out serflash section, since the makefile doesn't have this target. 2015-04-19 21:58:13 +02:00

Firmware

Flashing

General

This firmware is to be flashed to the atmega88 of the pentabug.

the isp way

With the

make flash

target of the Makefile you can flash the microcontroler via an isp programmer. Adjust the avrdude settings to Your programmers needs beforehand.

App API

The new firmware aims to be as simple as possible to the application developer. The applications are defined by a function which is called repeatedly in an Arduino like main loop. Most hardware components are (read: should be in the near future) accessible through an easy API.

There can be multiple different applications in one firmware. The next application can be started by pressing one of the two buttons for at least 2 seconds. The application has to be cooperative as other applications can only be started if the test_app_stop() function is called in your application regularly. You most propably won't have to worry about this as most functions in the hardware abstraction layer are already doing this for you.

To write your own application simply create a .c file in the apps folder and call the REGISTER() macro to define the entry point to your application.

Bugs and TODOs

  • add more functions to the hardware abstraction layer
  • a mechanism to select which applications to include in the firmware
  • working RC-5 sending and receiving
  • light and sound detection
  • actual applications which do more than blinking