Commit Graph

36 Commits

Author SHA1 Message Date
0f0cb73fa5 Fix building for BOARD=watch (Fixes #8), enable in CI 2020-05-16 22:04:56 +00:00
f455ce9113 Fix RTC synchronization after sleep, add many more tests
There were two issues with the tests

1. Incorrect print formats causing incorrect output.

2. The RTC driver was not waiting for the shadow registers to be
updated after sleeping, their reset values to be read.
2020-05-14 09:47:38 -07:00
2fa4a5e658 Enable Gitlab CI builds (#1)
Currently only builds for BOARD=devboard and uploads the bin and elf files.
2020-05-04 01:04:14 +00:00
e5057da888 Add a variety of automated tests 2020-04-20 07:32:04 -07:00
cd121ffc19 Add missing Init.c file 2020-04-19 08:59:30 -07:00
9e72091479 Add missing SystemInit.cpp 2020-04-19 08:57:08 -07:00
c32b3dc632 Fix the vector table for STM32L412RB 2020-04-18 12:19:28 -07:00
acba841bf1 Add Makefile support for more output binaries, add clock test 2020-04-18 12:18:32 -07:00
ef23f1d03a Add handy emacs configuration 2020-04-13 19:55:24 -07:00
8bc0220838 More JLink stuff 2020-04-13 19:54:44 -07:00
e58a366c14 Add missing JLink flashing bits 2020-04-13 19:50:24 -07:00
5b0dbb9743 Add lightweight printf support
For now, printf() isn't hooked up to anything, but snprintf() can be
used to create a string to pass off to usart.tx_blocking().
2020-04-13 19:47:33 -07:00
0efa8d4fd8 Add WIP test script
Depends on having:

1. An STM32 Nucleo with an STM32L412RB connected
2. A serial device connected to that board
3. A JLink connected to that board (no the onboard ST-Link!)

For now, there are some hardcoded paths, too.
2020-04-13 19:43:32 -07:00
5942d98e21 Add UsartDriver (TX-only) 2020-04-11 11:08:50 -07:00
99317eb99b Hack in support for other boards/microcontrollers, add GpioDriver
There's definitely plenty of cleanup work to be done (see:
"ifdefs").
2020-04-11 11:07:57 -07:00
385402e7aa Add/update STM32 headers 2020-04-11 10:41:39 -07:00
08bf863e79 Move .gdbinit to the firmware directory 2019-12-17 22:19:39 -08:00
463c3afd3d Add Stopwatch application
It can be started, stopped, and cleared. It also continues to run if
you leave the screen.
2019-12-17 22:19:39 -08:00
00c9910872 Swap button assignments
They were flipped in the watch v1.1 design, since the are now on the
opposite side.
2019-12-17 22:19:39 -08:00
2a633fe748 _Really_ fix the badge link 2019-12-16 04:39:46 +00:00
03a4dfc7a3 Fix badge link 2019-12-16 04:38:08 +00:00
b8783059c3 Enable Drone CI 2019-12-16 04:36:44 +00:00
ae837eef12 refactor tree, add ecad, mcad 2019-08-28 23:23:48 -07:00
d5ddd76bef Full color support, rework the directory structure 2019-08-05 22:15:40 -07:00
77f09bca16 At least: font code generator, exchange code support for color 128x128 2019-08-04 15:35:44 -07:00
e0b49ba109 Fix screen stack popping and add a menu 2019-06-26 09:07:34 -07:00
5cfa22c650 Add a C file generator for TrueType fonts
In order to be able to optimize the output better, add my own TTF
generator. Fortunately, freetype-py handles all of the hard work.

The generator is not yet integrated.
2019-06-26 09:02:34 -07:00
125ddfb687 Enable buttons and the display.
Kind-of-sort-of usable-ish.
2019-06-06 22:30:27 -07:00
1cc2f7adf4 Happy times: things work on real hardware! 2019-06-02 21:34:18 -07:00
a7f1ffc1b5 Huge refactoring for C++ and low-power mode
The display currently shows the time, with hours and minutes, and is
capable of receiving input with buttons (though does nothing). It
sleeps during intervals where nothing is happening. The display task
runs once per second, and RTC alarm A is used for periodic alarms to
update the system time.
2019-04-17 21:51:35 -07:00
6747d6c831 C++ refactoring, plus low-power support, plus software-based SPI CS
I'm backlogged.
2019-04-13 15:08:02 -07:00
d5bfecedb2 Use the builtin RTC and display it
Its roughly %15 fast, and initializes to zero, but the display
currently shows HH:MM:SS AM/PM.
2019-03-11 22:56:08 -07:00
dedcb5af71 Start beautifying the code
* Split out SPI and display (a little)
* Use more of the common Macros
* Remove wasted bytes from notomono font
* Create a mock "menu"
2019-03-10 18:16:55 -07:00
fab3332c65 Enable text display on Sharp display
1. Add basic code for Sharp Display
2. Add embedded font (generated by fontem)
3. Add the worst code possible to print strings to the display
4. Rejoice in the beautiful (small) text.
2019-03-04 00:22:01 -08:00
43d29285ef Add functional-ish SPI
Still need to correctly handle NSS, since the hardware seems to do
strange things.

Also, no DMA is being used yet.
2019-03-02 12:50:06 -08:00
f69fbec0ae Initial commit
Add startup code for STM32L031K6, and blink two LEDs, one with CPU,
and one with the LPTIM at 60Hz for the (to-be-implemented) Sharp display.
2019-02-23 17:32:07 -08:00