aboutsummaryrefslogtreecommitdiffstats
path: root/wirish/comm/HardwareSerial.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Board-specific values; corresponding QA test generalizations.Marti Bolivar2011-03-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Various board-specific #defines and arrays of pins added. For the changelog (some of this information predates this commit): * wirish/boards.h now declares the following arrays of pin numbers: * boardPWMPins - PWM-capable pins * boardADCPins - ADC-capable pins * boardUsedPins - pins already in use, e.g. BOARD_BUTTON_PIN It also declares a bool boardUsesPin(uint8 pin) function for convenient testing of whether a pin is in use. * wirish/boards/*.h now define: * BOARD_USART1_TX_PIN * BOARD_USART1_RX_PIN * BOARD_USART2_TX_PIN * BOARD_USART2_RX_PIN * BOARD_USART3_TX_PIN * BOARD_USART3_RX_PIN * BOARD_NR_GPIO_PINS (renamed from NR_GPIO_PINS) * BOARD_NR_USARTS (renamed from NR_USARTS) * BOARD_NR_PWM_PINS * BOARD_NR_ADC_PINS * BOARD_NR_USED_PINS * wirish/boards/maple_native.h now defines: * BOARD_UART4_TX_PIN * BOARD_UART4_RX_PIN * BOARD_UART5_TX_PIN * BOARD_UART5_RX_PIN (Unfortunately, wirish/boards/maple_RET6.h cannot, since at least one of the UART4/UART5 pins are used already; this will require layout changes for a wide-release Maple form factor RET6 board). * wirish/boards/*.cpp all include the corresponding array definitions. They all live in flash by default, thanks to the new __FLASH__ macro in wirish/wirish_types.h, which is a synonym for the existing __attr_flash #define in libmaple/libmaple_types.h. The documentation was updated to include this information. It also gained various FIXME/TODO comments related to its generalization across boards. The quality assurance-related examples (examples/qa-slave-shield.cpp and examples/test-session.cpp) now make heavy use of board-specific values to ensure portability.
* Initial timer refactor.Marti Bolivar2011-03-241-11/+9
| | | | | | | | | | | | | | | Basic PWM works. Had some problems in testing that might be due to USART bugs. HardwareTimer has been removed from the build for now; I will re-implement it in terms of the new libmaple API, but consider it deprecated. Let's come up with something better. Servo is implemented in terms of HardwareTimer, so it also has been temporarily removed from the build. pwmWrite() likely got a little bit less inefficient due to indirection, but the PIN_MAPs shrank by a pointer per PinMapping.
* [WIP] GPIO refactor: seems ok, ready for reviewMarti Bolivar2011-03-111-7/+7
|
* Servo library tested and debugged.Marti Bolivar2010-12-081-6/+5
| | | | | Some additional HardwareTimer methods introduced to make this convenient; ancillary libmaple/timers.h changes resulted.
* cleanupsMarti Bolivar2010-09-271-14/+14
|
* timer refactor (c, not c++)bnewbold2010-09-051-2/+2
| | | | also removed an old ASSERT()
* Further wirish portability progressbnewbold2010-08-311-0/+1
| | | | Sort of ugly changes. Compiles but untested.
* New usart implementation:Perry Hung2010-08-041-53/+35
| | | | | | Fixed a bug where the maximum baud rate was incorrectly set to 225000 General cleanup Use new rcc and nvic APIs
* good quality vga leaf logo; usb+systick disabledbnewbold2010-07-201-2/+2
| | | | | refactored timers and added interrupt behavior. see notes and comments... also includes a crude vga hack that doesn't use timers.
* added Serial.flush()bnewbold2010-07-191-0/+4
|
* added SerialN.end()bnewbold2010-07-181-0/+4
|
* Refactoring:Perry Hung2010-04-251-0/+102
The 'core' directory has now been renamed to 'wirish.' Wirish is our version of the Arduino Wiring language.