|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | | |  | 
| | | |  | 
| | | 
| | 
| | 
| | | Added support for non-power-of-two ring buffers. | 
| | | 
| | 
| | 
| | | capacity.  Sorted struct members by size to improve the packing. | 
| | | 
| | 
| | 
| | | threads/interrupts.  Add comments. | 
| | | |  | 
| | | |  | 
| | | 
| | 
| | 
| | | other externs. | 
| | |\ |  | 
| | | | |  | 
| |\ \ \  
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | Conflicts:
	libmaple/usb/usb.c
	notes/coding_standard.txt | 
| | | | | |  | 
| | |\ \ \  
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | 
| | | | | | Chose debug-serialusb version in cases of conflict.
Conflicts:
	libmaple/usb/usb_callbacks.c | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | this new function will only return AFTER the usb interrupt has been serviced and the byte is sent. Bytes should NOT fall on the floor ever with this function. (but they still do? pyserials problem?) | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | no longer use a ring buffer. No longer double buffer a local rx buffer and the packet memory. Instead, we read out of packet memory and block it for all reads. This is going to be slower. but it tests OK (unlike the old one...). | 
| | | | | | |  | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | changed USB driver to nak whenever it cant fill an entire endpoint (64B) worth of new data. The old scheme was to set receive valid as long as as the endpoint buffer wasnt full, the new scheme is to nak until it is completely empty. | 
| | | | | | 
| | | | | 
| | | | | 
| | | | | | notes/native-pin-definitions.txt (copied from ST datasheet). | 
| | | | | | |  | 
| | | | | | |  | 
| | |/ / /  
|/| | | |  | 
| | | | | |  | 
| |\| | | |  | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | | Some additional HardwareTimer methods introduced to make this
convenient; ancillary libmaple/timers.h changes resulted. | 
| | | | | |  | 
| | | | | |  | 
| |/ / / |  | 
| | | | 
| | | 
| | | 
| | | | still need usb descriptors to improve, and also nothing else is tested. | 
| | | | |  | 
| |\ \ \ |  | 
| | | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | 
| | | | | pinMode(PWM) turns the channel on, other modes should turn it off
Fixes bug with conflicting timer for spi1 and timer. This is not
well-tested.
Conflicts:
	libmaple/timers.c | 
| |/ / / |  | 
| | | | |  | 
| | | | |  | 
| | |/  
|/| |  | 
| | | |  | 
| | | |  | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | Extend the wirish attachInterrupt() and detachInterrupt() interface to
work with all GPIOs.
Note: The STM32 external interrupt lines are multiplexed between GPIO
ports. While any GPIO can be used as an external interrupt, not all of
them can be used at the same time. Each EXTI[n] line selects between
PA[n], PB[n], PC[n], etc. For example, line EXTI5 can be used with STM32
pins PA5, PB5, or PC5, but not all at the same time. See table:
EXTI Line       Maple Pin       STM32 Pin
  0             D2              PA0
  0             D27             PB0
  0             D15             PC0
  1             D3              PA1
  1             D28             PB1
  1             D16             PC1
  2             D1              PA2
  2             D17             PC2
  2             D25             PD2
  3             D0              PA3
  3             D18             PC3
  4             D10             PA4
  4             D19             PC4
  5             D13             PA5
  5             D4              PB5
  5             D20             PC5
  6             D12             PA6
  6             D5              PB6
  6             D35             PC6
  7             D11             PA7
  7             D9              PB7
  7             D36             PC7
  8             D6              PA8
  8             D14             PB8
  8             D37             PC8
  9             D7              PA9
  9             D24             PB9
  9             D38             PC9 (BUT)
 10             D8              PA10
 10             D29             PB10
 10             D26             PC10
 11             D30             PB11
 12             D31             PB12
 13             D32             PB13
 13             D21             PC13
 14             D33             PB14
 14             D22             PC14
 15             D34             PB15
 15             D23             PC15 | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | | Interrupts should be cleared by writing to the interrupt clear-enable
register (ICER). This commit fixes an improper read-modify-write on
NVIC_ICER[n] that incorrectly cleared interrupt-enable bits on
non-designated channels. | 
| | | |  | 
| | | |  | 
| | | 
| | 
| | 
| | | whoops. | 
| | | 
| | 
| | 
| | 
| | 
| | 
| | 
| | | Redirect thread-mode execution to a fail routine which throbs the LED to
indicate a hard fault. Because the fail routine runs in thread mode
with interrupts on, USB auto-reset should now work. Test by executing
some bogus instruction (e.g. *(volatile int*)0xf34fdaa = 0;) and check
that the auto-reset continues to work. | 
| | | 
| | 
| | 
| | 
| | | Tested on wishield, would like some more testing if anybody has more
things that speak spi | 
| |/  
|   
|   
| | Oooooops. | 
| | |  | 
| | 
| 
| 
| 
| 
| | ripped out marti's SystemTick for the sake of simplicity and added a
systick_resume function to libmaple. new example program demonstrates
the functionality, also demonstrates micros()/USB bug | 
| | |  | 
| | |  | 
| | 
| 
| 
| | also removed an old ASSERT() |