mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-07-05 20:41:34 -07:00
make usart write buffer const sub out magic numbers with defines fix edge case handling 255/256 byte frames (including crc) add sanity checks to avoid buffer overrun on some "should never happen" edge cases don't wait for rats reply from card before listening to next reader frame cap fsci to 8 (256 bytes) as that's the most the proxmark3 codebase currently handles eliminate 1k of ram usage by tweaking how emulation responses are sent
32 lines
1.2 KiB
C
32 lines
1.2 KiB
C
//-----------------------------------------------------------------------------
|
|
// Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// See LICENSE.txt for the text of the license.
|
|
//-----------------------------------------------------------------------------
|
|
#ifndef __USART_H
|
|
#define __USART_H
|
|
|
|
#include "common.h"
|
|
#include "usart_defs.h"
|
|
|
|
// Higher baudrates are pointless, only increasing overflow risk
|
|
|
|
extern uint32_t g_usart_baudrate;
|
|
extern uint8_t g_usart_parity;
|
|
|
|
void usart_init(uint32_t baudrate, uint8_t parity);
|
|
int usart_writebuffer_sync(const uint8_t *data, size_t len);
|
|
uint32_t usart_read_ng(uint8_t *data, size_t len);
|
|
uint16_t usart_rxdata_available(void);
|
|
|
|
#endif
|