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.
42 lines
668 B
C++
42 lines
668 B
C++
#include "DigitalIO.h"
|
|
|
|
namespace interface{
|
|
|
|
DigitalIO::DigitalIO():
|
|
m_pointer(0)
|
|
{}
|
|
|
|
|
|
void DigitalIO::setup(Uint16 *memzone){
|
|
m_pointer = memzone;// + OFFSET_DATA_DISCRETE_IO;
|
|
}
|
|
|
|
|
|
void DigitalIO::setMemoryOffset(Uint16 offset){
|
|
m_pointer += offset;
|
|
}
|
|
|
|
|
|
void DigitalIO::readDigitalIO(Uint16& data){
|
|
asm(" NOP"); // TODO Add normal NOP
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
data = *m_pointer;
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
}
|
|
|
|
|
|
void DigitalIO::writeDigitalIO(Uint16& data) const{
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
*m_pointer = data;
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
asm(" NOP");
|
|
}
|
|
|
|
} // interface
|