aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-25implement Wire.end() for AVR coreSandeep Mistry
2015-08-15Tone: Added missing breakonovy
2015-08-14Merge branch 'cdc-settings' of https://github.com/matthijskooijman/ArduinoCristian Maglie
2015-08-13Merge pull request #3640 from NicoHood/USB-Core-FixesMartino Facchin
Usb core fixes
2015-08-12Added u2 Series supportNicoHood
2015-08-12Precised USB Endpoint definitionsNicoHood
2015-08-12Added 16 byte endpoint supportNicoHood
2015-08-12Fixed HID Reports >255 bytesNicoHood
2015-08-12Added missing static inline to USB Recv functionNicoHood
2015-08-12Made Magic Key Settings more flexibleNicoHood
2015-08-12Print not Aborting on Write() failureChuck Todd
Print::write(const uint8_t *buffer, size_t size) and Print::print(const __FlashStringHelper *ifsh) would continue calling write(char) after a failed write(char) this behavior would render returned count unuseable see arduino/Arduino issue #3614
2015-07-31Fix links to 3rd party hardware specification.Reilly Grant
The number of hyphens in this URL has apparently changed.
2015-07-31Add Serial_::availableForWrite().Peter Van Hoyweghen
This makes the CDC "Serial" object on the Leonardo and similar boards support this recently introduced method as well. The CDC code in the sam core is not changed.
2015-07-31Prevent losing bytes in HardwareSerial::end()Matthijs Kooijman
end() already waited for the buffer to be empty, but then there could still be two bytes in the hardware registers that still need to be transmitted (which were dropped or kept in the buffer, depending on the exact timing). This changes the wait loop to a call to the flush() function, which already takes care of really waiting for all bytes to be transmitted, meaning it is safe to turn off the transmitter.
2015-07-31Add Serial_::readBreak() to process SEND_BREAK requestsMatthijs Kooijman
This allows detecting when the USB host sends a break request and what the value of the request was. See the comments in USBAPI.h for details. This just modifies the avr core, not the sam core.
2015-07-31Expose serial settings from CDC virtual serial portMatthijs Kooijman
This allows a sketch to find out the settings chosen by the USB host (computer) and act accordingly. Other than reading the DTR flag and checking if the baudrate is 1200, the regular CDC code doesn't actually use any of these settings. By exposing these settings to the sketch, it can for example copy them to the hardware UART, turning the Leonardo into a proper USB-to-serial device. This can be useful to let the computer directly talk to whatever device is connected to the hardware serial port (like an XBee module). The Teensy core already supported these methods. This code was independently developed, but the method names were chosen to match the Teensy code, for compatibility (except that `dtr()` and `rtr()` return `bool`, while the Teensy version return a `uint8_t`). This change is applied to both the avr and sam cores, which have a very similar CDC implementation.
2015-07-16rework HID-based libraries and add Due fallbackMartino Facchin
2015-07-16allow HID submodules to create runtime descriptorsMartino Facchin
with this PR you can add \#include Keyboard.h \#include Mouse.h \#include HID.h in the top of the sketch and you will expose a Mouse+Keyboard From the library pow, simply add static HID_Descriptor cb = { .length = sizeof(_hidReportDescriptor), .descriptor = _hidReportDescriptor, }; static HIDDescriptorListNode node(&cb); HID.AppendDescriptor(&node); in the class' constructor and you are done!
2015-07-16fix pluggableUSB linked listMartino Facchin
2015-07-16save RAM content overridden by bootloader magicMartino Facchin
and restore it in case of aborted reboot use RAMEND-1 as suggested by @yyyc514 in PR #2474 of course it's not a real solution but we cannot force everyone to update the bootloader using an external programmer
2015-07-16rework HID class functions scopesMartino Facchin
2015-07-16rename Setup typedef struct to USBSetupMartino Facchin
was really too common
2015-07-16fix HID headersMartino Facchin
2015-07-16fix HID descriptors bigger than 127 bytesMartino Facchin
2015-07-16Add support for waking up a host via USB HIDMartino Facchin
this is a rework of commit fbcf94801b8bba7f1c8c79cc7ae402b6b9dbb2d3
2015-07-16move HID library to AVR specific locationMartino Facchin
2015-07-16remove setupUSB weak hook and replace with global constructorsMartino Facchin
thanks @matthijskooijman
2015-07-16rework PUSBCallbacks initializationMartino Facchin
2015-07-16remove 3 endpoints to match at32u4 limitMartino Facchin
2015-07-16add numInterfaces field to PUSBCallbacksMartino Facchin
2015-07-16implement PUSB modules as linked listMartino Facchin
2015-07-16remove useless variablesMartino Facchin
2015-07-16make CDC function non removableMartino Facchin
2015-07-16add weak setupUSB() hookMartino Facchin
override this function to insert additional USB endpoints
2015-07-16remove useless variableMartino Facchin
2015-07-16add PluggableUSB moduleMartino Facchin
2015-07-16move _initEndpoints from PROGMEM to RAMMartino Facchin
2015-07-16Use generic composite device descriptorMartino Facchin
2015-07-16Move EP defines to headerMartino Facchin
2015-07-16Remove HID core libraryMartino Facchin
2015-07-16Enable C11 supportMatthijs Kooijman
This uses the gnu11 standard, which is C11 with GNU extensions. Previously, gnu89 was being used, which is pretty ancient by now. C99 brings some important improvements, some of which were already available and used even without this option. C11 is more recent and brings more minor improvements. Most notable feature is the static_assert statement, allowing checking invariants at compiletime using the full C expressions.
2015-07-16Check for __cplusplus >= 201103L as well as __GXX_EXPERIMENTAL_CXX0X__Matthijs Kooijman
Gcc 4.8 defines __cplusplus as 201103L, so we can check for that now. It still also defines __GXX_EXPERIMENTAL_CXX0X__, but this could help on other compilers, or if gcc ever decides to stop defining the experimental macro.
2015-07-16Enable C++11 supportMatthijs Kooijman
This uses the gnu++11 standard, which is C++11 with GNU extensions. C++11 should be full compatible with the previously used C++98 standards, so all pre-existing sketches should continue to work.
2015-07-16Explicitely specify C and C++ standards to useMatthijs Kooijman
This does not change anything, it just makes the defaults explicit.
2015-07-14Bootloaders: wrong #ifdefs, should be defined() not just tested (i.e. noteq 0)Martyn Ranyard
Close #126
2015-07-14Bootloaders: adds support for 328-nonp chipsMartyn Ranyard
2015-07-14-O2 in new avr-gcc makes too big a bootloader to fit on 328(and 328p)Martyn Ranyard
2015-07-14Fixed EEPE flag check.Martyn Ranyard
Here, using the flag itself makes the bootloader build where it currently does not for the 328 amongst others
2015-07-07Yun bootloader without blinkFederico Fissore
2015-07-06Examples: mass code format. See example_formatter.confFederico Fissore