Difference between revisions of "Pushbutton"
Line 1: | Line 1: | ||
[[File:spi_pushbutton.jpg|thumb|300px|alt=spi_pushbutton|The pushbutton board (depicted: the SPI version)]] |
[[File:spi_pushbutton.jpg|thumb|300px|alt=spi_pushbutton|The pushbutton board (depicted: the SPI version)]] |
||
This is the documentation page for . |
This is the documentation page for the pushbutton boards. |
||
== Overview == |
== Overview == |
||
This board adds 4 pushbuttons to your I2C or SPI enabled device. |
|||
== Assembly instructions == |
== Assembly instructions == |
||
None: the board comes fully assembled. |
|||
=== Possible Configurations === |
=== Possible Configurations === |
||
Line 26: | Line 28: | ||
== Pinout == |
== Pinout == |
||
For the SPI connector see: [[SPI_connector_pinout]]. |
|||
For the I2C connector see: [[I2C_connector_pinout]]. |
|||
=== LEDs === |
=== LEDs === |
||
The only LED is a power indicator. |
|||
== |
== jumper settings == |
||
See [[solder jumpers]] on how to change the solder jumper. |
|||
By changing the solder jumper SJ1, you can make the connector SPI0 into an ICSP programming connector for the attiny44 on the board. |
|||
== Programming == |
== Programming == |
||
Line 87: | Line 95: | ||
== Changelog == |
== Changelog == |
||
⚫ | |||
⚫ | |||
* Initial public release |
* Initial public release |
Revision as of 15:18, 16 November 2012
This is the documentation page for the pushbutton boards.
Overview
This board adds 4 pushbuttons to your I2C or SPI enabled device.
Assembly instructions
None: the board comes fully assembled.
Possible Configurations
External resources
Datasheets
Additional software
Related projects
Pinout
For the SPI connector see: SPI_connector_pinout. For the I2C connector see: I2C_connector_pinout.
LEDs
The only LED is a power indicator.
jumper settings
See solder jumpers on how to change the solder jumper.
By changing the solder jumper SJ1, you can make the connector SPI0 into an ICSP programming connector for the attiny44 on the board.
Programming
The software
Reading the pushbuttons is very much like the DIO module. The read and write ports are described below.
write ports
Some ports just set a single value. So writing more than one byte to such a port is redundant. Other ports are logically a stream of bytes. So writing more than one byte is encouraged.
The pushbutton board defines just one port.
port | function |
---|---|
0xf0 | change address. |
read ports
The pushbutton board supports several read ports:
port | function |
---|---|
0x01 | identification string. (terminated with 0). |
0x02 | read eeprom (serial number). |
0x20 | read button 1 |
0x21 | read button 2 |
0x22 | read button 3 |
0x23 | read button 4 |
0x24 | read button 5 |
0x25 | read button 6 |
0x30 | reports which buttons have been pushed since last read of this register |
Default operation
Future hardware enhancements
Future software enhancements
Changelog
1.0
- Initial public release