diff options
Diffstat (limited to 'hal')
-rw-r--r-- | hal/hwconfig.cpp | 24 | ||||
-rw-r--r-- | hal/pin.hpp | 10 |
2 files changed, 28 insertions, 6 deletions
diff --git a/hal/hwconfig.cpp b/hal/hwconfig.cpp index f443f59..1f4cdff 100644 --- a/hal/hwconfig.cpp +++ b/hal/hwconfig.cpp @@ -24,12 +24,32 @@ void hw::regunlock() void osc::initialize() { hw::regunlock(); - // CF no clock failure; COSC FRCDIV; PLLODIV DIV_256; UFRCEN disabled; PBDIVRDY disabled; SLOCK out of lock; FRCDIV FRC/1; SLPEN Idle on WAIT instruction; NOSC FRCDIV; PLLMULT MUL_24; SOSCEN disabled; PBDIV DIV_8; CLKLOCK unlocked; OSWEN Switch is Complete; SOSCRDY disabled; + // CF no clock failure; + // COSC FRCDIV; + // PLLODIV DIV_256; + // UFRCEN disabled; + // PBDIVRDY disabled; + // SLOCK out of lock; + // FRCDIV FRC/1; + // SLPEN Idle on WAIT instruction; + // NOSC FRCDIV; PLLMULT MUL_24; + // SOSCEN disabled; + // PBDIV DIV_8; + // CLKLOCK unlocked; + // OSWEN Switch is Complete; + // SOSCRDY disabled; OSCCON = 0x381F7700; hw::reglock(); // TUN Center Frequency; OSCTUN = 0x0; - // DIVSWEN disabled; RSLP disabled; ACTIVE Active; ROSEL SYSCLK; OE Not Driven out on REFCLKO pin; SIDL disabled; RODIV 0; ON disabled; + // DIVSWEN disabled; + // RSLP disabled; + // ACTIVE Active; + // ROSEL SYSCLK; + // OE Not Driven out on REFCLKO pin; + // SIDL disabled; + // RODIV 0; + // ON disabled; REFOCON = 0x100; // ROTRIM 0; REFOTRIM = 0x0; diff --git a/hal/pin.hpp b/hal/pin.hpp index ab9d3ad..13e9a52 100644 --- a/hal/pin.hpp +++ b/hal/pin.hpp @@ -8,14 +8,16 @@ #ifndef PIN_HPP #define PIN_HPP +#include <cstdint> + extern "C" { #include <xc.h> } -class gpio +class gpio_pin { public: - virtual ~gpio() {} + virtual ~gpio_pin() {} // digital mode methods virtual void set_mode(unsigned m) = 0; @@ -31,11 +33,11 @@ public: // TODO: analog mode methods protected: - gpio() {} + gpio_pin() {} }; template<unsigned bit> -class io_pin : public gpio { +class io_pin : public gpio_pin { public: enum class mode : unsigned { INPUT = 1, OUTPUT = 0 }; |