Skip to content
Glyn Hudson edited this page Oct 5, 2016 · 1 revision

Feature Ideas

  • Obtain all firmware versions from github releases API
  • Serial upload (user select port, attempt autodetect)
  • ISP upload (user select programmer)
  • Test receive RF using connected JeeLink or RFM69Pi, auto detect?
  • Unit test options for each hardware unit
  • Serial monitor with baud rate auto detect
  • Independent of system and paths -- Python / Ruby command line based can be installed on any system e.g. pi, linux server, windows etc.
  • Ability to easily add more hardware units just add github repo API to a textile

Firmware from GitHub releases

  • Obtain repos releases URL from text file
  • Check at startup for latest firmware and download all releases
  • Display firmware version and date from github
  • Display last checked time
  • Periodically (at night) check for new firmware
  • GitHub Releases API

Questions

  • Is is possible to obtain both serial and ISP firmware from github?
  • How to detect ISP firmware?
  • Can PlatformIO avrdude be used to upload (easier install and cross platform compatibility)?
  • Can ISP firmware be generated in the cloud using TravisCI from serial firmware?

Firmware naming ideas

  • emontx.hex
  • emontx-isp.hex

ISP Upload

  • Check last three characters for isp to indicate and ISP firmware (including bootloder)
  • If ISP firmware for that version cannot be found try previous version ISP firmware

Unit Testing Ideas

  • Test LED
  • Test for RFM69CW presence
  • Test for ADC 0 for emonTx CT inputs
  • Test presence of SI7021 SPI temperature & humidity sensor

Example Operation

$ emonupload serial -b emontx -v 1.3 -t -v`
$ emonupload update
-- board
-- version
-- test
-- verbose

Cached data

  • Reponame: tag_name : name : creation_date e.g:

openenergymon/emonesp : 0.0.2 : V0.0.2 update : XXXXXX