ergodox-firmware/references.md

347 lines
11 KiB
Markdown
Raw Normal View History

## Electronics Stuff
* [Resistor Color Codes]
(http://www.ladyada.net/wiki/lib/exe/fetch.php?hash=a2c6a9&w=501&h=785&media=http%3A%2F%2Fwww.ladyada.net%2Fimages%2Fmetertutorial%2Frescolorcode.jpg)
: image
* from [the Multimeter Tutorial]
(http://www.ladyada.net/learn/multimeter/resistance.html)
(on <http://ladyada.net/>)
* [Schematic Symbols]
(http://img.docstoccdn.com/thumb/orig/28066054.png)
: image
* [Vcc, Vdd, Vss, etc.]
(http://encyclobeamia.solarbotics.net/articles/vxx.html)
* [Very Basic Circuits]
(http://www.seattlerobotics.org/encoder/mar97/basics.html)
: column by Kevin Ross for Encoder
* [Powering Light Emitting Diodes(LEDs)]
(http://wolfstone.halloweenhost.com/Lighting/litlpo_PoweringLEDs.html)
* can also be reached via <http://thewolfstone.com/>
-> [ENTER] ('http://thewolfstone.com/Welcome/Home.html)
-> [Wolfstone's Haunted Halloween Page]
(http://thewolfstone.com/_ar/Halloween.html)
-> [technology]
(http://wolfstone.halloweenhost.com/Navigation/TechBase.html)
-> [powering LEDs]
(http://wolfstone.halloweenhost.com/Lighting/litlpo_PoweringLEDs.html)
* [All About Circuits : Reference]
(http://www.allaboutcircuits.com/vol_5/index.html)
* [Effects of Varying I2C Pull-Up Resistors]
(http://dsscircuits.com/articles/effects-of-varying-i2c-pull-up-resistors.html) : article by Wayne Truchsess
## C Stuff
* [comp.lang.c Frequently Asked Questions]
(http://c-faq.com/index.html)
* [The C Preprocessor]
(http://gcc.gnu.org/onlinedocs/gcc-2.95.3/cpp_1.html#SEC1)
(on <http://gcc.gnu.org/>)
* [C Library Reference]
(http://www.cplusplus.com/reference/)
(on <http://cplusplus.com>)
* [C Operators/Expressions]
(http://www.lix.polytechnique.fr/~liberti/public/computing/prog/c/C/CONCEPT/expressions.html)
(on <http://www.lix.polytechnique.fr/>)
* [Bitwise Operators in C and C++: A Tutorial]
(http://www.cprogramming.com/tutorial/bitwise_operators.html)
(on <http://cprogramming.com/>)
* [AVR Tutorials - \[TUT\] \[C\] Bit manipulation (AKA "Programming 101")]
(http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=37871&start=0)
* [In C++ is "const" after type ID acceptable?]
(http://stackoverflow.com/questions/988069/in-c-is-const-after-type-id-acceptable)
(on <http://stackoverflow.com/>)
* [Arrays and pointers in C]
(http://www.ibiblio.org/pub/languages/fortran/append-c.html)
(on <http://www.ibiblio.org/>)
* [how to use array of function pointers?]
(http://stackoverflow.com/questions/252748/how-to-use-array-of-function-pointers)
(on <http://stackoverflow.com/>)
* [The Function Pointer Tutorials]
(http://www.newty.de/fpt/index.html)
* [C preprocessor and concatenation]
(http://stackoverflow.com/questions/1489932/c-preprocessor-and-concatenation)
(on <http://stackoverflow.com/>)
* [The New C: Inline Functions]
(http://drdobbs.com/184401540)
by Randy Meyers
(on <http://drdobbs.com/>)
* [gcc: why the -lm flag is needed to link the math library?]
(http://stackoverflow.com/questions/4606301/gcc-why-the-lm-flag-is-needed-to-link-the-math-library)
(on <http://stackoverflow.com/>)
### For the AVR
* [AVR Newbie guide]
(http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=70673)
by stu_san (on <http://www.avrfreaks.net/>)
* [AVR Libc Library Reference]
(http://www.nongnu.org/avr-libc/user-manual/modules.html)
* [avr-libc/include/avr/iom32u4.h]
(http://svn.savannah.nongnu.org/viewvc/trunk/avr-libc/include/avr/iom32u4.h?revision=2288&root=avr-libc&view=markup)
: list of registers and associated bit numbers for ATmega32U4
* [A Brief Tutorial on Programming the AVR without Arduino]
(https://www.mainframe.cx/~ckuethe/avr-c-tutorial/)
by Chris Kuethe
* [Optimisations of AVR programs using avr-gcc]
(http://www.tty1.net/blog/2008-04-29-avr-gcc-optimisations_en.html)
* [Using the EEPROM memory in AVR-GCC]
(http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=38417)
: tutorial by [Dean Camera] (http://fourwalledcubicle.com/AboutMe.php)
(on <http://www.avrfreaks.net/>)
* updated version available as a pdf at
[Four Walled Cubicle : AVR Articles]
(http://www.fourwalledcubicle.com/AVRArticles.php), along with a few
other good articles on AVR programming
## Protocol Stuff
### I&sup2;C
* [Arduino I&sup2;C Expansion IO]
(http://www.neufeld.newton.ks.us/electronics/?p=241)
(from [Keith's Electronics Blog]
(http://www.neufeld.newton.ks.us/electronics/))
* [Arduino Playground :: Wire Library, Explored]
(http://arduino.cc/playground/Main/WireLibraryDetailedReference)
### USB
* About Keyboard [Scan Codes]
(http://geekhack.org/showwiki.php?title=Scan+Codes)
(on <http://geekhack.org/>)
2012-04-13 06:54:46 +02:00
* [USB - boot mode, NKRO, compatibility, etc...]
(http://geekhack.org/showthread.php?13162-USB-boot-mode-NKRO-compatibility-etc/page2)
: old thread by [Soarer]
(http://geekhack.org/member.php?4274-Soarer)
(on <http://geekhack.org/>)
* [USB 2.0 Specification]
(http://www.usb.org/developers/docs/usb_20_101111.zip)
: zip (from <http://www.usb.org/developers/docs/>)
* [HID Device Class Definition]
(http://www.usb.org/developers/devclass_docs/HID1_11.pdf)
: pdf (from <http://www.usb.org/developers/hidpage>)
* HID = Human Interface Device
* [HID Usage Tables]
(http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf)
: pdf (from <http://www.usb.org/developers/hidpage>)
## Other People's Code
### Keyboard Firmware
* zip: [Phantom Firmware from PrinsValium]
(http://geekhack.org/attachment.php?attachmentid=38982&d=1327895092)
* mentioned in the [Building Phantom Hardware and Firmware Mods]
(http://geekhack.org/showwiki.php?title=Island:26742)
article (on <http://geekhack.org/>)
* github: [tmk / tmk_keyboard]
(https://github.com/tmk/tmk_keyboard)
* forked by [Pyrolistical / tmk_keyboard]
(https://github.com/Pyrolistical/tmk_keyboard/tree/master/fourway)
* mentioned in the [KeyPoard]
(http://geekhack.org/showwiki.php?title=Island:26845)
article on <http://geekhack.org/>
* forked by [riffautae / tmk_keyboard]
(https://github.com/riffautae/tmk_keyboard)
* mentioned on the [Teensy Keyboard Firmware Discussion]
(http://geekhack.org/showthread.php?26730-Teensy-Keyboard-Firmware-Discussion/page2)
thread on <http://geekhack.org/>
* github: [humblehacker / keyboard]
(https://github.com/humblehacker/keyboard)
* mentioned on [the humblehacker keyboard website]
(http://humblehacker.com/keyboard/)
* mentioned on [the humblehacker geekhack page]
(http://geekhack.org/showwiki.php?title=Island:6292)
* mentioned on [the designer's blog]
(http://humblehacker.com/blog/)
2012-04-13 04:05:51 +02:00
### USB Libraries
* [LUFA (2012) (Lightweight USB Framework for AVRs)]
(http://www.fourwalledcubicle.com/LUFA.php)
* zip: [PJRC: usb_keyboard]
(http://pjrc.com/teensy/usb_keyboard.zip)
* mentioned on [the PJRC website]
(http://pjrc.com/teensy/usb_keyboard.html)
### TWI Libraries
* github: [TWI library in C]
(https://github.com/arduino/Arduino/tree/master/libraries/Wire/utility)
: (arduino / Arduino / libraries / Wire / utility)
* zip: [i2cmaster]
(http://homepage.hispeed.ch/peterfleury/i2cmaster.zip)
(by Peter Fleury, on [his homepage]
(http://homepage.hispeed.ch/peterfleury/))
* forum: [Interfacing MCP23018 io expander via Arduino]
(http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282150189)
: contains a quick MCP23017 library in C++
* github: [maniacbug / Arduino / libraries / MCP23018]
(https://github.com/maniacbug/Arduino/tree/master/libraries/MCP23018)
: library in C++
2012-04-13 04:05:51 +02:00
### Other
* [Soarer's Converter (XT/AT/PS2/Terminal to USB Converter with NKRO)]
(http://geekhack.org/showwiki.php?title=Island:17458)
* zip: [PJRC: blinky]
(http://pjrc.com/teensy/blinky.zip)
* mentioned on [the PJRC website]
(http://pjrc.com/teensy/gcc.html)
## Hardware Documentation
* [Microchip: Analog & Interface Product Selector Guide]
(http://ww1.microchip.com/downloads/en/DeviceDoc/21060z.pdf)
* from [the Microchip website (MCP23017 product listing page)]
(http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en023499)
* [MCP23017 / MCP23S17 Data Sheet]
(http://ww1.microchip.com/downloads/en/DeviceDoc/21952b.pdf)
* from [the Microchip website]
(http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en023499)
* [MCP23018 / MCP23S18 Data Sheet]
(http://ww1.microchip.com/downloads/en/DeviceDoc/22103a.pdf)
* from [the Microchip website]
(http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en537375)
* [Teensy 2.0 (ATMEGA32U4) Data Sheet]
(http://pjrc.com/teensy/atmega32u4.pdf)
* from [the PJRC website]
(http://pjrc.com/teensy/datasheets.html)
* [Teensy++ 2.0 (AT90USB1286) Data Sheet]
(http://pjrc.com/teensy/at90usb1286.pdf)
* from [the PJRC website]
(http://pjrc.com/teensy/datasheets.html)
* [Teensy 2.0 Pin Assignments, Using C]
(http://pjrc.com/teensy/card2a.pdf)
* from [the PJRC website]
(http://pjrc.com/teensy/datasheets.html)
* [Teensy 2.0 Pin Assignments, Using Arduino]
(http://pjrc.com/teensy/card2b.pdf)
* from [the PJRC website]
(http://pjrc.com/teensy/datasheets.html)
* [Cherry MX Series Keyswitches : Specifications]
(http://www.cherrycorp.com/english/switches/key/mx.htm)
## Miscellaneous
### Typical Keyboard Information
* [Keyboard Scan Rates]
(http://geekhack.org/showwiki.php?title=Keyboard+scan+rates)
list (on <http://geekhack.org/>)
2012-04-26 22:03:51 +02:00
### Other Awesome Keyboard Projects
* [My DIY keyboard collection ( or how I became a KB-geek...)]
(http://deskthority.net/workshop-f7/my-diy-keyboard-collection-or-how-i-became-a-kb-geek-t2534.html)
* linked to in [a post]
(http://geekhack.org/showthread.php?22780-Interest-Check-Custom-split-ergo-keyboard&p=582593&viewfull=1#post582593)
on the ergoDOX geekhack thread
### Documentation and Design Tools
* [Markdown: Syntax]
(http://daringfireball.net/projects/markdown/syntax)
* [KiCAD Tutorial]
(http://teholabs.com/knowledge/kicad.html)
(on <http://teholabs.com/>)
* mentioned on the [circuit/block-diagram drawing]
(http://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing)
question (on <http://stackoverflow.com/>)
* [Ti<i>k</i>Z and PGF]
(http://www.texample.net/tikz/)
: a TeX graphics package
* mentioned on the [circuit/block-diagram drawing]
(http://stackoverflow.com/questions/6422603/circuit-block-diagram-drawing)
question (on <http://stackoverflow.com/>)
* [Documentation (for version 2010-09-28)]
(http://www.texample.net/media/pgf/builds/pgfmanualCVS2010-09-28.pdf)
: pdf
* [Example: Block diagram line junctions]
(http://www.texample.net/tikz/examples/line-junctions/)
* [Inkscape : Connector tool tutorial]
(http://wiki.inkscape.org/wiki/index.php/UsingTheConnectorTool)
-------------------------------------------------------------------------------
Copyright &copy; 2012 Ben Blazak <benblazak.dev@gmail.com>
Released under The MIT License (MIT) (see "license.md")
Project located at <https://github.com/benblazak/ergodox-firmware>