test code
This commit is contained in:
parent
6ebd1a667d
commit
822c8a21d7
2 changed files with 22 additions and 13 deletions
|
|
@ -53,7 +53,7 @@ int main(void) {
|
|||
|
||||
USART1->CR1 = USART_CR1_TE | USART_CR1_RE;
|
||||
USART1->BRR = (apb2_clock + baudrate/2) / baudrate;
|
||||
USART1->CR2 |= USART_CR2_RXINV;
|
||||
USART1->CR2 |= USART_CR2_RXINV; //| USART_CR2_TXINV;
|
||||
USART1->CR1 |= USART_CR1_UE;
|
||||
|
||||
int req_seq = 0;
|
||||
|
|
@ -70,25 +70,32 @@ int main(void) {
|
|||
unsigned int rx_crc_error = 0;
|
||||
|
||||
USART1->TDR = 0; /* Kick off transmission */
|
||||
int i = 0;
|
||||
while (23) {
|
||||
/*
|
||||
if (tx_st.remaining_bytes == 0) {
|
||||
res_buf.req_seq = req_seq;
|
||||
res_buf.res_seq = res_seq;
|
||||
res_seq += 1;
|
||||
packetize(&res_buf, &res_buf.trailer);
|
||||
tx_st.tx_char = tx_buf;
|
||||
tx_st.remaining_bytes = cobs_encode((uint8_t *)&res_buf, sizeof(res_buf), tx_buf, sizeof(tx_buf));;
|
||||
if (i > 10000) {
|
||||
res_buf.req_seq = req_seq;
|
||||
res_buf.res_seq = res_seq;
|
||||
res_seq += 1;
|
||||
//packetize(&res_buf, &res_buf.trailer);
|
||||
tx_st.tx_char = tx_buf;
|
||||
//tx_st.remaining_bytes = cobs_encode((uint8_t *)&res_buf, sizeof(res_buf), tx_buf, sizeof(tx_buf));;
|
||||
for (int k=0; k < 8; k++)
|
||||
tx_buf[k] = 255-k;
|
||||
for (int k=0; k < 8; k++)
|
||||
tx_buf[8+k] = (k + 1) % 8;
|
||||
tx_st.remaining_bytes = 16;
|
||||
i = 0;
|
||||
} else {
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
if (USART1->ISR & USART_ISR_TXE && tx_st.remaining_bytes > 0) {
|
||||
for (int i=0; i<100; i++)
|
||||
asm volatile ("nop");
|
||||
USART1->TDR = *(tx_st.tx_char);
|
||||
tx_st.tx_char += 1;
|
||||
tx_st.remaining_bytes -= 1;
|
||||
}
|
||||
*/
|
||||
|
||||
if (USART1->ISR & USART_ISR_ORE)
|
||||
USART1->ICR = USART_ICR_ORECF;
|
||||
|
|
|
|||
|
|
@ -28,13 +28,14 @@ if __name__ == '__main__':
|
|||
make_color = lambda x: f'\033[38;5;{x}m'
|
||||
field_colors = [ make_color(x) for x in [ 48, 48, 48, 48, 220, 220, 220, 220, 207, 207, 207, 207 ] ]
|
||||
last_tx = time.time()
|
||||
lastc = -10000
|
||||
while True:
|
||||
data = ser.read()
|
||||
for c in data:
|
||||
if byte_count == 0:
|
||||
print(f'\033[38;5;244m{time.time() - start_time: 8.3f} \033[0m', end='')
|
||||
|
||||
col = '\033[91m' if c == 0 else '\033[0m'
|
||||
col = '\033[91m' if c == 0 else ('\033[0m' if c == (lastc - 1) % 256 else '\033[92m')
|
||||
print(f'{col}{c:02x}', end=' ')
|
||||
line += bytes([c])
|
||||
byte_count += 1
|
||||
|
|
@ -63,6 +64,7 @@ if __name__ == '__main__':
|
|||
print(f'\033[93m | {printable}\033[0m')
|
||||
byte_count = 0
|
||||
line = b''
|
||||
lastc = c
|
||||
|
||||
|
||||
if time.time() - last_tx > 0.01:
|
||||
|
|
@ -70,6 +72,6 @@ if __name__ == '__main__':
|
|||
data = struct.pack('<I', seq)
|
||||
#seq += 1
|
||||
#ser.write(bytes(list(range(255, -1, -1))))
|
||||
ser.write(cobs.encode(data + struct.pack('<I', zlib.crc32(data))) + b'\0')
|
||||
#ser.write(cobs.encode(data + struct.pack('<I', zlib.crc32(data))) + b'\0')
|
||||
last_tx = time.time()
|
||||
#time.sleep(0.01)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue