Compare commits
No commits in common. "e5eac07702fd2eae92ded315a414581f286571d1" and "3e904a2e71049b4b4b853e8445b10f9fdf793600" have entirely different histories.
e5eac07702
...
3e904a2e71
14 changed files with 29 additions and 56 deletions
|
@ -8,10 +8,8 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <f4ll/initialized_singleton.h>
|
#include <f4ll/initialized_singleton.h>
|
||||||
|
#include <f4ll/packet_usart.h>
|
||||||
#include <f4ll/ringbuffer.h>
|
#include <f4ll/ringbuffer.h>
|
||||||
#include <f4ll/usart_core.h>
|
|
||||||
|
|
||||||
#include <platform/dma_ll.h>
|
|
||||||
|
|
||||||
namespace f4ll {
|
namespace f4ll {
|
||||||
|
|
||||||
|
@ -42,16 +40,16 @@ private:
|
||||||
void setup_receive(void);
|
void setup_receive(void);
|
||||||
|
|
||||||
// LL_UsartCore pure virtual function implementations
|
// LL_UsartCore pure virtual function implementations
|
||||||
void receiver_idle(void) override;
|
virtual void receiver_idle(void) override;
|
||||||
void transmission_complete(void) override;
|
virtual void transmission_complete(void) override;
|
||||||
void framing_error(void) override;
|
virtual void framing_error(void) override;
|
||||||
void overrun(void) override;
|
virtual void overrun(void) override;
|
||||||
void rx_dma_transfer_complete(void) override;
|
virtual void rx_dma_transfer_complete(void) override;
|
||||||
void rx_dma_half_transfer(void) override;
|
virtual void rx_dma_half_transfer(void) override;
|
||||||
void rx_dma_error(dma_helper::dma_error_type reason) override;
|
virtual void rx_dma_error(dma_helper::dma_error_type reason) override;
|
||||||
void tx_dma_transfer_complete(void) override;
|
virtual void tx_dma_transfer_complete(void) override;
|
||||||
void tx_dma_half_transfer(void) override;
|
virtual void tx_dma_half_transfer(void) override;
|
||||||
void tx_dma_error(dma_helper::dma_error_type reason) override;
|
virtual void tx_dma_error(dma_helper::dma_error_type reason) override;
|
||||||
|
|
||||||
ringbuffer_ext m_tx_buffer;
|
ringbuffer_ext m_tx_buffer;
|
||||||
size_type m_bytes_sent = 0;
|
size_type m_bytes_sent = 0;
|
||||||
|
|
|
@ -6,12 +6,10 @@
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
|
|
||||||
#include <platform/dma_ll.h>
|
|
||||||
|
|
||||||
#include <f4ll/dma_helper.h>
|
#include <f4ll/dma_helper.h>
|
||||||
#include <f4ll/initialized_singleton.h>
|
#include <f4ll/initialized_singleton.h>
|
||||||
|
#include <inttypes.h>
|
||||||
|
#include <platform/dma_ll.h>
|
||||||
|
|
||||||
namespace f4ll {
|
namespace f4ll {
|
||||||
|
|
||||||
|
|
|
@ -7,8 +7,7 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <inttypes.h>
|
||||||
|
|
||||||
#include <platform/dma_ll.h>
|
#include <platform/dma_ll.h>
|
||||||
|
|
||||||
namespace f4ll {
|
namespace f4ll {
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
#define FAULT_REASON_BUS_FAULT 3
|
#define FAULT_REASON_BUS_FAULT 3
|
||||||
#define FAULT_REASON_USAGE_FAULT 4
|
#define FAULT_REASON_USAGE_FAULT 4
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
#include <inttypes.h>
|
||||||
#include <stm32f4xx.h>
|
#include <stm32f4xx.h>
|
||||||
|
|
||||||
namespace f4ll {
|
namespace f4ll {
|
||||||
|
|
|
@ -6,8 +6,6 @@
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
|
|
||||||
#include <f4ll/dma_helper.h>
|
#include <f4ll/dma_helper.h>
|
||||||
#include <f4ll/initialized_singleton.h>
|
#include <f4ll/initialized_singleton.h>
|
||||||
|
|
||||||
|
|
|
@ -95,7 +95,7 @@ private:
|
||||||
virtual void tx_dma_half_transfer(void) override;
|
virtual void tx_dma_half_transfer(void) override;
|
||||||
virtual void tx_dma_error(dma_helper::dma_error_type reason) override;
|
virtual void tx_dma_error(dma_helper::dma_error_type reason) override;
|
||||||
|
|
||||||
struct buffer
|
struct Buffer
|
||||||
{
|
{
|
||||||
packet pkt;
|
packet pkt;
|
||||||
// transfer area ends here
|
// transfer area ends here
|
||||||
|
@ -115,8 +115,8 @@ private:
|
||||||
crc_handler::slot<2> m_crc_slot;
|
crc_handler::slot<2> m_crc_slot;
|
||||||
ihs_usart_callback *m_user_callback = nullptr;
|
ihs_usart_callback *m_user_callback = nullptr;
|
||||||
uintptr_t m_user_callback_param = 0;
|
uintptr_t m_user_callback_param = 0;
|
||||||
buffer m_tx_buffer;
|
Buffer m_tx_buffer;
|
||||||
buffer m_rx_buffers[2];
|
Buffer m_rx_buffers[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
#include <cstring>
|
||||||
|
|
||||||
namespace f4ll {
|
namespace f4ll {
|
||||||
|
|
||||||
|
@ -130,4 +131,4 @@ ringbuffer<SZ>::ringbuffer()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace f1ll
|
} // namespace f1ll
|
|
@ -1,23 +0,0 @@
|
||||||
#pragma once
|
|
||||||
|
|
||||||
namespace f4ll {
|
|
||||||
|
|
||||||
template <typename T> class singleton
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
static T &instance()
|
|
||||||
{
|
|
||||||
static T instance;
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
singleton() = default;
|
|
||||||
singleton(const singleton &) = delete;
|
|
||||||
singleton &operator=(const singleton &) = delete;
|
|
||||||
static T *m_instance;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename T> T *singleton<T>::m_instance = nullptr;
|
|
||||||
|
|
||||||
} // namespace f1ll {
|
|
|
@ -5,7 +5,9 @@
|
||||||
* Author: abody
|
* Author: abody
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <cstddef>
|
||||||
#include <f4ll/console_handler.h>
|
#include <f4ll/console_handler.h>
|
||||||
|
#include <f4ll/irq_lock.h>
|
||||||
#include <f4ll/str_util.h>
|
#include <f4ll/str_util.h>
|
||||||
|
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
* Author: abody
|
* Author: abody
|
||||||
* -c "tpiu config internal <logfile_full_path> uart off <cpufreq>"
|
* -c "tpiu config internal <logfile_full_path> uart off <cpufreq>"
|
||||||
*/
|
*/
|
||||||
|
#include <inttypes.h>
|
||||||
|
// #include <core_cm4.h>
|
||||||
#include <f4ll/fault.h>
|
#include <f4ll/fault.h>
|
||||||
#include <f4ll/str_util.h>
|
#include <f4ll/str_util.h>
|
||||||
#include <stm32f4xx.h>
|
#include <stm32f4xx.h>
|
||||||
|
|
|
@ -183,7 +183,7 @@ void packet_usart::crc_succeeded(uintptr_t callback_param, uint32_t crc, uint8_t
|
||||||
{
|
{
|
||||||
(void)task;
|
(void)task;
|
||||||
|
|
||||||
buffer &buf(m_rx_buffers[static_cast<int>(callback_param)]);
|
Buffer &buf(m_rx_buffers[static_cast<int>(callback_param)]);
|
||||||
|
|
||||||
buf.busy = 1;
|
buf.busy = 1;
|
||||||
if (*(uint32_t *)(buf.pkt.payload + round_up_to_4((uint16_t)buf.pkt.header.payload_length)) != crc) {
|
if (*(uint32_t *)(buf.pkt.payload + round_up_to_4((uint16_t)buf.pkt.header.payload_length)) != crc) {
|
||||||
|
@ -201,7 +201,7 @@ void packet_usart::crc_failed(uintptr_t callback_param, uint32_t crc, uint8_t ta
|
||||||
(void)crc;
|
(void)crc;
|
||||||
(void)task;
|
(void)task;
|
||||||
|
|
||||||
buffer &buf(m_rx_buffers[static_cast<int>(callback_param)]);
|
Buffer &buf(m_rx_buffers[static_cast<int>(callback_param)]);
|
||||||
buf.busy = buf.error = true;
|
buf.busy = buf.error = true;
|
||||||
buf.error_info = 0;
|
buf.error_info = 0;
|
||||||
++m_stats.payload_errror;
|
++m_stats.payload_errror;
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#include <f4ll/ringbuffer.h>
|
#include <f4ll/ringbuffer.h>
|
||||||
|
|
||||||
#include <cstring>
|
|
||||||
|
|
||||||
namespace f4ll {
|
namespace f4ll {
|
||||||
|
|
||||||
ringbuffer_ext::ringbuffer_ext(uint8_t *bptr, size_type bsize)
|
ringbuffer_ext::ringbuffer_ext(uint8_t *bptr, size_type bsize)
|
||||||
|
@ -149,4 +147,4 @@ iringbuffer::size_type ringbuffer_ext::marker_diff(size_type m1, size_type m2) c
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
}
|
}
|
|
@ -1,5 +1,7 @@
|
||||||
#include <f4ll/str_util.h>
|
#include <f4ll/str_util.h>
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
size_t strcpy_ex(char *dst, char const *src)
|
size_t strcpy_ex(char *dst, char const *src)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue