Add pubsub client
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// Results becomes inaccurate if direct port manipulation is used hence the use of digitalWrite() and digitalRead()
|
||||
|
||||
void UTouch::touch_WriteData(byte data)
|
||||
{
|
||||
byte temp;
|
||||
|
||||
temp=data;
|
||||
cbi(P_CLK, B_CLK);
|
||||
|
||||
for(byte count=0; count<8; count++)
|
||||
{
|
||||
if(temp & 0x80)
|
||||
digitalWrite(T_DIN, HIGH);
|
||||
else
|
||||
digitalWrite(T_DIN, LOW);
|
||||
temp = temp << 1;
|
||||
digitalWrite(T_CLK, LOW);
|
||||
digitalWrite(T_CLK, HIGH);
|
||||
}
|
||||
}
|
||||
|
||||
word UTouch::touch_ReadData()
|
||||
{
|
||||
word data = 0;
|
||||
|
||||
for(byte count=0; count<12; count++)
|
||||
{
|
||||
data <<= 1;
|
||||
digitalWrite(T_CLK, HIGH);
|
||||
digitalWrite(T_CLK, LOW);
|
||||
if (digitalRead(T_DOUT))
|
||||
data++;
|
||||
}
|
||||
return(data);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
// *** Hardwarespecific defines ***
|
||||
#define cbi(reg, bitmask) *reg &= ~bitmask
|
||||
#define sbi(reg, bitmask) *reg |= bitmask
|
||||
#define rbi(reg, bitmask) ((*reg) & bitmask)
|
||||
|
||||
#define pulse_high(reg, bitmask) sbi(reg, bitmask); cbi(reg, bitmask);
|
||||
#define pulse_low(reg, bitmask) cbi(reg, bitmask); sbi(reg, bitmask);
|
||||
|
||||
#define swap(type, i, j) {type t = i; i = j; j = t;}
|
||||
|
||||
#if defined(TEENSYDUINO) && TEENSYDUINO >= 117
|
||||
#define regtype volatile uint8_t
|
||||
#define regsize uint8_t
|
||||
#else
|
||||
#define regtype volatile uint32_t
|
||||
#define regsize uint32_t
|
||||
#endif
|
||||
Reference in New Issue
Block a user