Fix some dumb bugs
This commit is contained in:
parent
7b7b18cb14
commit
2dcae5db6f
2 changed files with 36 additions and 17 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
|
|
||||||
# blackmagic-1
|
# blackmagic-1
|
||||||
# target extended-remote 192.168.27.252:2022
|
target extended-remote 192.168.27.252:2022
|
||||||
|
|
||||||
# blackmagic-2
|
# blackmagic-2
|
||||||
# target extended-remote 192.168.27.114:2022
|
# target extended-remote 192.168.27.114:2022
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
# target extended-remote 192.168.27.207:2022
|
# target extended-remote 192.168.27.207:2022
|
||||||
|
|
||||||
# blackmagic-4
|
# blackmagic-4
|
||||||
target extended-remote 192.168.27.153:2022
|
# target extended-remote 192.168.27.153:2022
|
||||||
|
|
||||||
set print pretty on
|
set print pretty on
|
||||||
set print elements 512
|
set print elements 512
|
||||||
|
|
|
||||||
|
|
@ -43,11 +43,11 @@ int hex_to_int(char *hex, size_t len) {
|
||||||
rv = rv<<4;
|
rv = rv<<4;
|
||||||
char c = hex[len];
|
char c = hex[len];
|
||||||
if ('0' <= c && c <= '9')
|
if ('0' <= c && c <= '9')
|
||||||
c -= '0';
|
c = c - '0';
|
||||||
else if ('a' <= c && c <= 'f')
|
else if ('a' <= c && c <= 'f')
|
||||||
c -= 'a' + 0xa;
|
c = c - 'a' + 0xa;
|
||||||
else if ('A' <= c && c <= 'F')
|
else if ('A' <= c && c <= 'F')
|
||||||
c -= 'A' + 0xa;
|
c = c - 'A' + 0xa;
|
||||||
else
|
else
|
||||||
c = 0;
|
c = 0;
|
||||||
rv |= c;
|
rv |= c;
|
||||||
|
|
@ -161,7 +161,9 @@ int main(void) {
|
||||||
GPIOB->OSPEEDR = (3<<0) | (3<<1) | (3<<3);
|
GPIOB->OSPEEDR = (3<<0) | (3<<1) | (3<<3);
|
||||||
|
|
||||||
/* GPIOC:
|
/* GPIOC:
|
||||||
* C0-C3: (testpoint)
|
* C0, C3: (testpoint)
|
||||||
|
* C1: Fan 2 PWM
|
||||||
|
* C2: Fan 1 PWM
|
||||||
* C4: RJ45 LED 4
|
* C4: RJ45 LED 4
|
||||||
* C5: RJ45 LED 3
|
* C5: RJ45 LED 3
|
||||||
* C6: Fuse monitor 7
|
* C6: Fuse monitor 7
|
||||||
|
|
@ -172,12 +174,14 @@ int main(void) {
|
||||||
* C11-C15: (testpoint)
|
* C11-C15: (testpoint)
|
||||||
*/
|
*/
|
||||||
GPIOC->MODER =
|
GPIOC->MODER =
|
||||||
IN(0) | IN(1) | IN(2) | IN(3) | IN(9) | IN(11) | IN(12) | IN(13) | IN(14) | IN(15) |
|
IN(0) | OUT(1) | OUT(2) | IN(3) | IN(9) | IN(11) | IN(12) | IN(13) | IN(14) | IN(15) |
|
||||||
OUT(4) | OUT(5) |
|
OUT(4) | OUT(5) |
|
||||||
IN(6) | IN(7) | IN(8) |
|
IN(6) | IN(7) | IN(8) |
|
||||||
AF(10);
|
AF(10);
|
||||||
|
GPIOC->OTYPER = (1<<1) | (1<<2);
|
||||||
GPIOC->AFR[1] = AFRH(10, 2);
|
GPIOC->AFR[1] = AFRH(10, 2);
|
||||||
GPIOC->OSPEEDR = (3<<10);
|
GPIOC->OSPEEDR = (3<<10);
|
||||||
|
GPIOC->BRR = (1<<1) | (1<<2); /* Disable fans */
|
||||||
|
|
||||||
/* GPIOD:
|
/* GPIOD:
|
||||||
* D0-D6: (testpoint)
|
* D0-D6: (testpoint)
|
||||||
|
|
@ -187,11 +191,20 @@ int main(void) {
|
||||||
GPIOD->MODER = IN(0) | IN(1) | IN(2) | IN(3) | IN(4) | IN(5) | IN(6) |
|
GPIOD->MODER = IN(0) | IN(1) | IN(2) | IN(3) | IN(4) | IN(5) | IN(6) |
|
||||||
IN(8) | IN(9);
|
IN(8) | IN(9);
|
||||||
|
|
||||||
for (int i=0; i<20; i++) {
|
for (int i=0; i<10; i++) {
|
||||||
set_status_leds(LED_ON);
|
set_status_leds(LED_ON);
|
||||||
delay_us(500*1000);
|
delay_us(250*1000);
|
||||||
set_status_leds(0);
|
set_status_leds(0);
|
||||||
delay_us(500*1000);
|
delay_us(250*1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
GPIOC->BSRR = (1<<1) | (1<<2); /* Enable fans */
|
||||||
|
|
||||||
|
for (int i=0; i<10; i++) {
|
||||||
|
set_status_leds(LED_ON);
|
||||||
|
delay_us(250*1000);
|
||||||
|
set_status_leds(0);
|
||||||
|
delay_us(250*1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
TIM1->CCMR1 = (6<<TIM_CCMR1_OC2M_Pos) | TIM_CCMR1_OC2PE;
|
TIM1->CCMR1 = (6<<TIM_CCMR1_OC2M_Pos) | TIM_CCMR1_OC2PE;
|
||||||
|
|
@ -249,12 +262,18 @@ int main(void) {
|
||||||
}
|
}
|
||||||
set_status_leds(leds);
|
set_status_leds(leds);
|
||||||
|
|
||||||
if (USART1->ISR & USART_ISR_RXNE_RXFNE) {
|
int isr = USART1->ISR;
|
||||||
rj45_rx_ctr = 100000;
|
if ((isr & USART_ISR_ORE) || (isr & USART_ISR_FE)) {
|
||||||
if (USART1->RDR == '\n') {
|
USART1->ICR = USART_ICR_ORECF | USART_ICR_FECF;
|
||||||
if (rxp != 4*16*3) {
|
}
|
||||||
|
|
||||||
|
if (isr & USART_ISR_RXNE_RXFNE) {
|
||||||
|
rj45_rx_ctr = 20000;
|
||||||
|
char c = USART1->RDR;
|
||||||
|
if (c == '\n') {
|
||||||
|
if (rxp > 2 && rxp != 4*16*3) {
|
||||||
|
control_err_ctr = 1000000;
|
||||||
rxp = 0;
|
rxp = 0;
|
||||||
control_err_ctr = 10000000;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -271,12 +290,12 @@ int main(void) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
rxp = 0;
|
rxp = 0;
|
||||||
ping_ctr = 1000000;
|
ping_ctr = 500000;
|
||||||
update_tx_buf();
|
update_tx_buf();
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (rxp <= sizeof(rxbuf)) {
|
if (rxp <= sizeof(rxbuf)) {
|
||||||
rxbuf[rxp] = USART1->RDR;
|
rxbuf[rxp] = c;
|
||||||
rxp ++;
|
rxp ++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue