init
commit
bbab8bdaee
@ -0,0 +1,5 @@
|
||||
GTAGS
|
||||
GPATH
|
||||
GRTAGS
|
||||
.clang_complete
|
||||
|
@ -0,0 +1,18 @@
|
||||
#ifndef _HAL_CACHE_H_
|
||||
#define _HAL_CACHE_H_
|
||||
|
||||
#ifdef HAL_CACHE_ENABLED
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -0,0 +1,13 @@
|
||||
#ifndef _HAL_CLOCK_H_
|
||||
#define _HAL_CLOCK_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
@ -0,0 +1,14 @@
|
||||
#ifndef _HAL_GPIO_H_
|
||||
#define _HAL_GPIO_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
@ -0,0 +1,9 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@ -0,0 +1,8 @@
|
||||
#ifndef _SAMD2X_HPP_
|
||||
#define _SAMD2X_HPP_
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -0,0 +1,7 @@
|
||||
#include <iostream>
|
||||
|
||||
int main()
|
||||
{
|
||||
USART_Async x;
|
||||
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
#ifndef _MCU_H_
|
||||
#define _MCU_H_
|
||||
|
||||
#define MCU_ARCH_ARM (0)
|
||||
#define MCU_ARCH_ARM64 (1)
|
||||
#define MCU_ARCH_AVR (2)
|
||||
|
||||
#define MCU_MANUF_MICROCHIP (0)
|
||||
|
||||
#define MCU_TYPE atsamd2x
|
||||
|
||||
#define MCU_ARCH MCU_ARCH_ARM
|
||||
#define MCU_MANUF MCU_MANUF_MICROCHIP
|
||||
|
||||
|
||||
#if MCU_ARCH == MCU_ARCH_ARM
|
||||
typedef mcu
|
||||
#elif
|
||||
|
||||
#endif
|
@ -0,0 +1,31 @@
|
||||
I2C - Software Addressed Protocol
|
||||
Clocked Protocol
|
||||
Pins: SDA = Serial Data
|
||||
SCL = Serial Clock
|
||||
|
||||
Speeds up to 400Khz, 1 Mhz
|
||||
|
||||
SPI - Serial Protocol Interface
|
||||
Hardware Addressed Protocol
|
||||
Clocked Protocol
|
||||
|
||||
Pins: MOSI (Master Out Slave In)
|
||||
MISO (Master In Slave Out)
|
||||
SCL Serial Clock
|
||||
SS or nCS (Slave Select or not Chip Select)
|
||||
|
||||
Up to 20Mhz
|
||||
|
||||
USART Two Wire, Non Clocked Protocol
|
||||
|
||||
Pins:
|
||||
TX: Transmit
|
||||
RX: Receive
|
||||
|
||||
Baudrate = bits per second (sorta)
|
||||
|
||||
frequency = 100 / 1 time in seconds
|
||||
|
||||
9600
|
||||
115200
|
||||
38400
|
@ -0,0 +1,18 @@
|
||||
#ifndef _USART_H_
|
||||
#define _USART_H_
|
||||
|
||||
|
||||
class Usart
|
||||
{
|
||||
public:
|
||||
Usart();
|
||||
~Usart();
|
||||
|
||||
void Write(const char* arr);
|
||||
void Read(char* arr, int max_len);
|
||||
private:
|
||||
hal_usart _usart;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,13 @@
|
||||
#ifndef _EPENGUIN_CONF_H_
|
||||
#define _EPENGUIN_CONF_H_
|
||||
|
||||
#include "epenguin_master.h"
|
||||
|
||||
#define EP_UARCH __UARCH_ARM__
|
||||
#define EP_MCU_FAMILY __SAM_D2X__
|
||||
#define EP_MCU __ATSAMD21J18A__
|
||||
|
||||
#define EP_DRIVERS (0)
|
||||
|
||||
|
||||
#endif
|
@ -0,0 +1,40 @@
|
||||
/* -- ePenguin Master --
|
||||
|
||||
This master file dictates all supported hardware. It lists supported
|
||||
architectures, mcu families, and specific mcus. This software framework
|
||||
targets hardware at the mcu level--not at the board level. Board layers can
|
||||
be applied, but this framework targets the mcu and the mcu alone.
|
||||
|
||||
*/
|
||||
#ifndef _EPENGUIN_MASTER_H_
|
||||
#define _EPENGUIN_MASTER_H_
|
||||
|
||||
#ifndef __UARCHITECTURES__
|
||||
#define __UARCHITECTURES__
|
||||
#define __UARCH_ARM__ (0)
|
||||
#define __UARCH_ARM64__ (1)
|
||||
#define __UARCH_AVR__ (2)
|
||||
#define __UARCH_AVR32__ (3)
|
||||
#define __UARCH_X86__ (4)
|
||||
#define __UARCH_RISCV__ (5)
|
||||
#endif
|
||||
|
||||
#ifndef __UFAMILIES__
|
||||
#define __UFAMILIES__
|
||||
/* Support ARM MCU Families */
|
||||
|
||||
/* Microchip */
|
||||
#define __SAM_D1X__ (0)
|
||||
#define __SAM_C1X__ (1)
|
||||
#define __SAM_D2X__ (2)
|
||||
#define __SAM_E_D5X__ (3)
|
||||
#define __SAM_C2X__ (4)
|
||||
#define __SAM_L2X__ (5)
|
||||
|
||||
/* STMicroelectronics */
|
||||
|
||||
/* NXP */
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
@ -0,0 +1,7 @@
|
||||
#ifndef _EPENGUIN_H_
|
||||
#define _EPENGUIN_H_
|
||||
|
||||
#include "mcu.h"
|
||||
|
||||
|
||||
#endif
|
@ -0,0 +1,35 @@
|
||||
#ifndef __MCU_H__
|
||||
#define __MCU_H__
|
||||
|
||||
#include "epenguin_conf.h"
|
||||
|
||||
#ifndef EP_UARCH
|
||||
#error You must specify an architecture!
|
||||
#elifndef EP_MCU_FAMILY
|
||||
#error You must specify a mcu family!
|
||||
#elifndef EP_MCU
|
||||
#error You must specify a mcu!
|
||||
#else
|
||||
#if EP_UARCH == __UARCH_ARM__
|
||||
#if EP_MCU_FAMILY == __SAM_D2X__
|
||||
#if EP_MCU == __ATSAMD21J18A__
|
||||
#else
|
||||
#endif
|
||||
#elif EP_MCU
|
||||
#endif
|
||||
#elif EP_UARCH == __UARCH_ARM64__
|
||||
|
||||
#elif EP_UARCH == __UARCH_AVR__
|
||||
|
||||
#elif EP_UARCH == __UARCH_AVR32__
|
||||
|
||||
#elif EP_UARCH == __UARCH_RISCV__
|
||||
|
||||
#elif EP_UARCH == __UARCH_X86__
|
||||
|
||||
#else
|
||||
#error Selected uarch not found! Try again =(
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue