On some HD44780 boards (eg the Keyestudio LCD1602 expansion shield),
the RW pin isn't brought out and is permanently grounded.
This means that the board can't be read from, and in particular the
busy status can't be read.
This patch adapts the package to work with boards like these.
To signal this to the package, set the RW pin to machine.NoPin.
The package will then disallow all reading and use adjustable timing
based writing. The timing can be adjusted the configuration.
The package with the main function should always have the name main.
This was not the case in three packages.
This was silently allowed before, but since a TinyGo change
(https://github.com/tinygo-org/tinygo/pull/1592) this now results in a
linker failure.
Perhaps this should result in a better error message in TinyGo. However,
the example code also needs to be fixed, so hence this PR.
Also change the `tester` package slightly to use an exposed `Registers`
array rather adding yet another accessor method to retrieve a register
value. This seems to me more transparent and "obvious" - we aren't trying
to hide the fact that there's just a simple memory store there.
Also unexport the `assertRegisterRange` method which was never intended
to be part of the public API.
* Merge AVR support for Digispark and non-Digispark
* Fix the error "inline assembly requires more registers than available"
* Use a single file for all AVR targets, in a similar style as the
Xtensa support.
It can not be skipped as you may call setwindow even if device is not ready for data write to buffer.
Data can only be written if last command was Memory Write or Write Memory Continue which was not guaranteed
There's no performance loss as having the exact same window on a consecutive call is extremely unlikely
- Fixed some typos and added a few missing comments to please go-lint
This patch adds support for the ESP8266 chip by adding support for 80MHz
operation. This should also work when the ESP32 is changed to 80MHz, but
I didn't test it (as there is not currently a way to do that).
Verified on a NodeMCU dev board with an ESP8266.
This allows WS2812 LEDs to be controlled by an ESP32. Right now it only
supports 160MHz operation, which is the default with current ESP32
support in TinyGo.
- FrameRate option sets device framerates from 39-111Hz
- VSyncLines option adjusts device vsync pause using st7789 "porch control" feature
- Added Rx(cmd, bytes[]) to support retrieving scanline timing data over SPI
- Added Sync functions to support syncronization of animation to vertical scanline timing
- Minor adjustments to Configure to clear screen memory before display is visible
* gps: buxfixes and refactoring of API to separate device from parser
Signed-off-by: deadprogram <ron@hybridgroup.com>
* gps: simplify time parser
Signed-off-by: deadprogram <ron@hybridgroup.com>
* gps: add support for RMC sentences
Signed-off-by: deadprogram <ron@hybridgroup.com>
* gps: small renaming to remove reduntant use of word GPS
Signed-off-by: deadprogram <ron@hybridgroup.com>
* Fix setWindow bug, add CS pin for Clue compatibility.
- corrected bit shift in setWindow that broke high addresses
- added csPin to constructor (will now work with adafruit clue)
- small adjustments and comments to init routine based on working arduino driver
* Update main.go
Updated test example with CS pin.
* Reverting unnecessary (no-effect) change in setRotation.