Compare commits
No commits in common. "8e25479ab5db114f687918d3eb16d06bcf2ebdc5" and "c5a770a52c0887db7ff051fb2e40766e85e3d89d" have entirely different histories.
8e25479ab5
...
c5a770a52c
13
README.MD
13
README.MD
@ -1,14 +1 @@
|
||||
# WS2812B light signal - CPU Board
|
||||
|
||||
Board to run [colorchord2](https://github.com/cnlohr/colorchord) on a string of WS2812B LEDs with live line-in audio.
|
||||
|
||||
## Errata (Rev 01)
|
||||
|
||||
* Opamp inverting / non-inverting inputs are swapped
|
||||
* Workaround: Lift pads 2 and 3, and 5 and 6, and connect them crossed using magnet wire.
|
||||
* Opamp is not rail-to-rail and does not allow to use the ADC in full range
|
||||
* Workaround: Only use limited range -640 to 520.
|
||||
* LED footprint is wrong.
|
||||
* Workaround: Flip 180 degrees and solder shifted onto the right pads, then use magnet wire to connect the remaining two pads.
|
||||
* Serial boot loader non-functional (uses incompatible UART I/Os).
|
||||
* Workaround: Program via JTAG / SWD.
|
||||
|
@ -262,29 +262,3 @@ void ConfigureGPIO( uint8_t gpio, int parameters )
|
||||
GPIO_Init(GPIOOf(gpio), &GPIO_InitStructure);
|
||||
}
|
||||
|
||||
void JumpToBootloader(void) {
|
||||
// Many thanks to https://stm32f4-discovery.net/2017/04/tutorial-jump-system-memory-software-stm32/
|
||||
|
||||
void (*SysMemBootJump)(void);
|
||||
volatile uint32_t addr = 0x1FFF0000;
|
||||
|
||||
RCC_DeInit();
|
||||
|
||||
// Disable and reset systick
|
||||
SysTick->CTRL = 0;
|
||||
SysTick->LOAD = 0;
|
||||
SysTick->VAL = 0;
|
||||
|
||||
__disable_irq();
|
||||
|
||||
// Remap system memory
|
||||
SYSCFG->MEMRMP = 0x01;
|
||||
|
||||
SysMemBootJump = (void (*)(void)) (*((uint32_t *)(addr + 4)));
|
||||
|
||||
// Set main stack pointer
|
||||
__set_MSP(*(uint32_t *)addr);
|
||||
|
||||
// Jump
|
||||
SysMemBootJump();
|
||||
}
|
||||
|
@ -54,10 +54,8 @@ void ConfigureGPIO( gpio gpio, int parameters );
|
||||
#endif
|
||||
|
||||
void ConfigureUART();
|
||||
|
||||
void ConfigureLED();
|
||||
|
||||
void JumpToBootloader(void);
|
||||
|
||||
#define LED_TOGGLE {GPIOOf(LEDPIN)->ODR^=(1<<((LEDPIN)&0x0f));}
|
||||
#define LED_ON GPIOOn(LEDPIN)
|
||||
#define LED_OFF GPIOOff(LEDPIN)
|
||||
|
Loading…
Reference in New Issue
Block a user