Compare commits

..

No commits in common. "tmp" and "master" have entirely different histories.
tmp ... master

21 changed files with 43 additions and 85 deletions

View file

@ -6,16 +6,16 @@
*/
#include <f4ll_cpp/ili9341.h>
#include <f4ll_cpp/strutil.h>
#include <application.h>
#include <initializer_list>
#include "main.h"
#include "globals.h"
#include "strutil.h"
#define BORDER 60
#define BARWIDTH 2
using namespace f4ll_cpp;
void MainLoop()
{
@ -57,6 +57,8 @@ Application::Application()
void Application::Loop()
{
char buffer[128];
Ili9341Fsmc &lcd(Ili9341Fsmc::Init(nullptr, nullptr, DMA2, LL_DMA_STREAM_4, false));
lcd.SetScrollMode(true);
@ -69,13 +71,13 @@ void Application::Loop()
}
for(;;) {
if(m_lineReceived && m_transmissionCompleted) {
m_transmissionCompleted = false;
if(m_received && m_transmitted) {
m_transmitted = false;
const char *line = const_cast<const char*>(m_rcvdBuffer->buffer);
m_console.SendLine(line, m_rcvdBuffer->len);
lcd.Print(line);
lcd.Print("\r\n", 2);
m_lineReceived = false;
m_received = false;
m_rcvdBuffer->busy = false;
}
@ -86,25 +88,25 @@ void Application::Loop()
uint16_t x = ReadTouch(SPI2, true);
uint16_t y = ReadTouch(SPI2, false);
unsigned len = strcpy_ex(m_appBuffer, "X: ");
len += uitodec(m_appBuffer+len, x);
len += strcpy_ex(m_appBuffer + len, ", Y: ");
len += uitodec(m_appBuffer + len, y);
len += strcpy_ex(m_appBuffer + len, "\r\n");
lcd.Print(m_appBuffer, len);
m_console.SendLine(m_appBuffer, len);
unsigned len = strcpy_ex(buffer, "X: ");
len += uitodec(buffer+len, x);
len += strcpy_ex(buffer + len, ", Y: ");
len += uitodec(buffer + len, y);
len += strcpy_ex(buffer + len, "\r\n");
lcd.Print(buffer, len);
m_console.SendLine(buffer, len);
}
}
}
void Application::LineReceived(void *userParam, SerialConsole<257>::Buffer *buffer)
{
m_lineReceived = true;
m_received = true;
m_rcvdBuffer = buffer;
}
void Application::TransmissionComplete(void *userParam, SerialConsole<257>::Buffer *buffer)
{
m_transmissionCompleted = true;
m_transmitted = true;
}

View file

@ -23,26 +23,25 @@ void MainLoop();
#include "globals.h"
struct GlobalsInitializer {
GlobalsInitializer(f4ll_cpp::SerialConsole<257> *console) {
GlobalsInitializer(SerialConsole<257> *console) {
g_console = console;
}
};
class Application : public GlobalsInitializer, public f4ll_cpp::SerialConsole<257>::ISerialConsoleCallback {
class Application : public GlobalsInitializer, public SerialConsole<257>::ISerialConsoleCallback {
public:
Application();
void Loop();
private:
virtual void LineReceived(void *userParam, f4ll_cpp::SerialConsole<257>::Buffer *buffer);
virtual void TransmissionComplete(void *userParam, f4ll_cpp::SerialConsole<257>::Buffer *buffer);
virtual void LineReceived(void *userParam, SerialConsole<257>::Buffer *buffer);
virtual void TransmissionComplete(void *userParam, SerialConsole<257>::Buffer *buffer);
f4ll_cpp::SerialConsole<257> m_console;
volatile bool m_lineReceived = false;
volatile f4ll_cpp::SerialConsole<257>::Buffer *m_rcvdBuffer;
char m_appBuffer[128];
SerialConsole<257> m_console;
volatile bool m_received = false;
volatile SerialConsole<257>::Buffer *m_rcvdBuffer;
volatile bool m_transmissionCompleted = true;
volatile bool m_transmitted = true;
};
#endif // __cplusplus

View file

@ -7,4 +7,4 @@
#include "globals.h"
f4ll_cpp::SerialConsole<257> *g_console = nullptr;
SerialConsole<257> *g_console = nullptr;

View file

@ -11,7 +11,7 @@
#if defined(__cplusplus)
extern f4ll_cpp::SerialConsole<257> *g_console;
extern SerialConsole<257> *g_console;
#endif // __cplusplus

View file

@ -12,7 +12,7 @@
void HandleLcdDmaIrq()
{
// DMA2 Stream4
f4ll_cpp::Ili9341Fsmc::HandleDmaIrq(&f4ll_cpp::Ili9341Fsmc::Instance());
Ili9341Fsmc::HandleDmaIrq(&Ili9341Fsmc::Instance());
}
void HandleConsoleRxDmaIrq()

View file

@ -27,9 +27,6 @@
# define DIAG_INTERRUPT_OUT()
#endif
namespace f4ll_cpp
{
void Crc_StartNextTask(struct crcstatus_t *status);
@ -191,4 +188,3 @@ void CrcScheduler::_HandleDmaIrq()
DIAG_INTERRUPT_OUT();
}
} // f4ll_cpp

View file

@ -17,9 +17,6 @@
#include <platform/crc_ll.h>
#include <f4ll_cpp/dmahelper.h>
namespace f4ll_cpp
{
class CrcScheduler {
public:
struct ICrcCallback {
@ -67,6 +64,5 @@ private:
crcslot_t *m_firstSlot;
};
} // f4ll_cpp
#endif /* CRC_HANDLER_H_ */

View file

@ -9,9 +9,6 @@
#define MOCKABLE(x) x
#endif
namespace f4ll_cpp
{
DmaHelper::DmaHelper(DMA_TypeDef *dma, uint32_t stream)
{
m_dma = dma;
@ -83,4 +80,3 @@ uint32_t DmaHelper::_GetTcMask(uint32_t stream)
return tcMasks[stream];
}
} // f4ll_cpp

View file

@ -14,9 +14,6 @@
#define DECLARE_MOCK(x)
#endif
namespace f4ll_cpp
{
class DmaHelper {
public:
DmaHelper(DMA_TypeDef *dma, uint32_t stream);
@ -52,6 +49,16 @@ private:
uint32_t m_tcMask;
};
} // f4ll_cpp
#ifdef UNITTEST
DECLARE_MOCK(Dma_GetIsReg);
DECLARE_MOCK(Dma_GetIfcReg);
DECLARE_MOCK(Dma_GetDmeMask);
DECLARE_MOCK(Dma_GetTeMask);
DECLARE_MOCK(Dma_GetHtMask);
DECLARE_MOCK(Dma_GetTcMask);
DECLARE_MOCK(Dma_GetFeMask);
DECLARE_MOCK(Dma_Init);
#endif
#endif /* DMA_HELPER_H_ */

View file

@ -16,8 +16,6 @@
#define RGB2U16(R,G,B) ((R & 0xf8) << 8 | (G & 0xfc) << 3 | (B & 0xf8) >> 3)
#define MSBSPLIT(x) ((uint8_t)(x >> 8)), ((uint8_t)x)
namespace f4ll_cpp {
Ili9341Fsmc::Ili9341Fsmc(volatile uint16_t *reg, volatile uint16_t *ram,
DMA_TypeDef *dma, uint32_t dmaStream,
bool horizontal)
@ -397,5 +395,3 @@ const uint8_t Ili9341Fsmc::m_font[CHRCOUNT][CHRWIDTH] = {
{0x02,0x01,0x02,0x01,0x00,0x00}, // ~
{0x00,0x00,0x00,0x00,0x00,0x00}
};
} // f4ll_cpp

View file

@ -5,8 +5,6 @@
#include <f4ll_cpp/dmahelper.h>
#include <inttypes.h>
namespace f4ll_cpp {
class Ili9341Fsmc : public Singleton<Ili9341Fsmc>, private DmaHelper
{
public:
@ -188,6 +186,4 @@ public:
};
};
} // f4ll_cpp
#endif

View file

@ -7,8 +7,6 @@
#include <f4ll_cpp/dmahelper.h>
#include <f4ll_cpp/memcpydma.h>
namespace f4ll_cpp {
MemcpyDma::MemcpyDma(DMA_TypeDef *dma, uint32_t stream) :
DmaHelper(dma, stream),
m_busy(false)
@ -35,5 +33,3 @@ void MemcpyDma::HandleDmaIrq(void)
m_busy = false;
}
}
} // f4ll_cpp

View file

@ -14,8 +14,6 @@
#include <f4ll_cpp/singleton.h>
namespace f4ll_cpp {
class MemcpyDma : public DmaHelper, public Singleton<MemcpyDma>
{
public:
@ -28,6 +26,5 @@ private:
volatile bool m_busy;
};
} // namespace f4ll_cpp
#endif /* MEMCPY_DMA_H_ */

View file

@ -30,9 +30,6 @@
#define STARTMARKER 0x95
namespace f4ll_cpp
{
static inline uint32_t RoundUpTo4(uint32_t inp)
{
return (inp + 3) & 0xfffc;
@ -283,4 +280,3 @@ void PacketUart::HandleUsartIrq()
DIAG_INTERRUPT_OUT();
}
} // f4ll_cpp

View file

@ -13,8 +13,6 @@
#define USART_STATS_DISABLED
namespace f4ll_cpp {
class PacketUart : public UartBase, public CrcScheduler::ICrcCallback
{
public:
@ -102,6 +100,4 @@ private:
Buffer rxBuffers[2];
};
} // f4ll_cpp
#endif /* UART_HANDLER_H_ */

View file

@ -14,8 +14,6 @@
#include <f4ll_cpp/uartbase.h>
namespace f4ll_cpp {
template<unsigned int bufSize> class SerialConsole : protected UartBase
{
public:
@ -168,6 +166,4 @@ template<unsigned int bufSize> void SerialConsole<bufSize>::SendLine(char const
}
}
} // f4ll_cpp
#endif /* CONSOLEHANDLER_H_ */

View file

@ -10,8 +10,6 @@
#include <utility>
namespace f4ll_cpp {
template<typename T> class Singleton {
public:
static T &Instance() { return *m_instance; }
@ -34,6 +32,4 @@ protected:
template<typename T> T* Singleton<T>::m_instance = nullptr;
} // f4ll_cpp
#endif /* SINGLETON_H_ */

View file

@ -1,5 +1,5 @@
#include <stdint.h>
#include "strutil.h"
#include <f4ll_cpp/strutil.h>
//////////////////////////////////////////////////////////////////////////////
size_t strcpy_ex(char *dst, char const *src)

View file

@ -4,8 +4,9 @@
* Created on: Feb 11, 2017
* Author: compi
*/
#ifndef _STRUTIL_H_
#define _STRUTIL_H_
#ifndef _STM32PLUS_STRUTIL_H_
#define _STM32PLUS_STRUTIL_H_
#include <stddef.h>
#include <inttypes.h>
@ -27,5 +28,4 @@ char tochr(const uint8_t in, const uint8_t upper);
}
#endif
#endif // _STRUTIL_H_
#endif /* _STM32PLUS_STRUTIL_H_ */

View file

@ -7,8 +7,6 @@
#include <f4ll_cpp/uartbase.h>
namespace f4ll_cpp {
UartBase::UartBase(USART_TypeDef *uart, DMA_TypeDef *dma, uint32_t stream_rx, uint32_t stream_tx)
: m_uart(uart)
, m_rxDma(dma, stream_rx)
@ -46,4 +44,3 @@ void UartBase::SetupTransmit(void *buffer, uint16_t length)
LL_DMA_EnableStream(m_txDma.GetDma(), m_txDma.GetStream());
}
} // f4ll_cpp

View file

@ -10,8 +10,6 @@
#include <platform/usart_ll.h>
#include <f4ll_cpp/dmahelper.h>
namespace f4ll_cpp {
class UartBase
{
public:
@ -26,6 +24,4 @@ protected:
DmaHelper m_txDma;
};
} // f4ll_cpp
#endif /* F4LL_CPP_UARTBASE_H_ */