You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
880 B
C++
47 lines
880 B
C++
/*
|
|
* ExtDAC.cpp
|
|
*
|
|
* Author: Aleksey Gerasimenko
|
|
* gerasimenko.aleksey.n@gmail.com
|
|
*/
|
|
|
|
#include "PERIPHERY/ExtDAC.h"
|
|
|
|
namespace PERIPHERY
|
|
{
|
|
//CONSTRUCTOR
|
|
ExtDAC::ExtDAC():
|
|
p_channel_a(0),
|
|
p_channel_b(0),
|
|
p_channel_c(0),
|
|
p_channel_d(0)
|
|
{}//CONSTRUCTOR
|
|
//
|
|
|
|
//
|
|
void ExtDAC::setup(uint16_t *memzone)
|
|
{
|
|
p_channel_a = memzone + OFFSET_DAC_CHANNEL_A;
|
|
p_channel_b = memzone + OFFSET_DAC_CHANNEL_B;
|
|
p_channel_c = memzone + OFFSET_DAC_CHANNEL_C;
|
|
p_channel_d = memzone + OFFSET_DAC_CHANNEL_D;
|
|
//
|
|
}//
|
|
//
|
|
//#pragma CODE_SECTION("ramfuncs");
|
|
void ExtDAC::write_data(int16_t data_a, int16_t data_b, int16_t data_c, int16_t data_d)
|
|
{
|
|
NOP;
|
|
NOP;
|
|
*p_channel_a = data_a;
|
|
*p_channel_b = data_b;
|
|
*p_channel_c = data_c;
|
|
*p_channel_d = data_d;
|
|
NOP;
|
|
NOP;
|
|
NOP;
|
|
//
|
|
}//
|
|
//
|
|
} /* namespace PERIPHERAL */
|