Add new scene controller with touch display example.
Upgraded RF24 to latest version which supports SoftSPI. Added DigitalIO and UTFT libraries to support the new example. Fix problem reported in RelayWithButtonActuator example.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
// Direct port manipulation does not work at the moment, 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,12 @@
|
||||
// *** Hardwarespecific defines ***
|
||||
#define cbi(reg, bitmask) (*(reg + 1)) = bitmask
|
||||
#define sbi(reg, bitmask) (*(reg + 2)) = 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;}
|
||||
|
||||
#define regtype volatile uint32_t
|
||||
#define regsize uint16_t
|
||||
Reference in New Issue
Block a user