mirror of
https://gitlab.com/fabinfra/fabhardware/fablock.git
synced 2025-03-12 14:41:46 +01:00
Changed FabCity Demo Build Pin Config
This commit is contained in:
parent
006b1dc034
commit
c1e20c122b
@ -4,12 +4,13 @@
|
||||
|
||||
#include "config.h"
|
||||
#define MCP_INPUTS 16 // MCP23017
|
||||
#define TRIGGER_TIME 1500
|
||||
#define TRIGGER_TIME 3000
|
||||
#define BLINK_COUNT 3
|
||||
#define BLINK_TIME 500
|
||||
|
||||
WiFiClient espClient;
|
||||
PubSubClient client(espClient);
|
||||
Adafruit_MCP23X17 mcp_relais;
|
||||
Adafruit_MCP23X17 mcp_feedback;
|
||||
|
||||
unsigned long lastMsg = 0;
|
||||
#define MSG_BUFFER_SIZE (50)
|
||||
@ -31,8 +32,6 @@ void setup_wifi()
|
||||
{
|
||||
delay(500);
|
||||
}
|
||||
|
||||
randomSeed(micros());
|
||||
}
|
||||
|
||||
void callback(char* topic, byte* payload, unsigned int length)
|
||||
@ -48,33 +47,23 @@ void callback(char* topic, byte* payload, unsigned int length)
|
||||
strncpy(str_id, topic + topic_len - trigger_len - 3, 3);
|
||||
int id = atoi(str_id);
|
||||
|
||||
if ((char)payload[0] == '1')
|
||||
{
|
||||
mcp_relais.digitalWrite(id, HIGH);
|
||||
delay(TRIGGER_TIME);
|
||||
mcp_relais.digitalWrite(id, LOW);
|
||||
}
|
||||
else
|
||||
{
|
||||
mcp_relais.digitalWrite(id, LOW);
|
||||
delay(TRIGGER_TIME);
|
||||
mcp_relais.digitalWrite(id, HIGH);
|
||||
}
|
||||
mcp_relais.digitalWrite(id, HIGH);
|
||||
delay(TRIGGER_TIME);
|
||||
mcp_relais.digitalWrite(id, LOW);
|
||||
}
|
||||
|
||||
if(!strcmp(topic + topic_len - set_state_len, "/set_state"))
|
||||
if(!strcmp(topic + topic_len - set_state_len, "/identify"))
|
||||
{
|
||||
char str_id[4] = {0};
|
||||
strncpy(str_id, topic + topic_len - trigger_len - 3, 3);
|
||||
int id = atoi(str_id);
|
||||
int id = 15 - atoi(str_id);
|
||||
|
||||
if ((char)payload[0] == '1')
|
||||
for(int i = 0; i < BLINK_COUNT; i++)
|
||||
{
|
||||
mcp_relais.digitalWrite(id, HIGH);
|
||||
}
|
||||
else
|
||||
{
|
||||
delay(BLINK_TIME);
|
||||
mcp_relais.digitalWrite(id, LOW);
|
||||
delay(BLINK_TIME);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,9 +88,9 @@ void reconnect()
|
||||
}
|
||||
if (connected)
|
||||
{
|
||||
snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%03d/+/trigger", FABLOCKID);
|
||||
snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%05d/+/trigger", FABLOCKID);
|
||||
client.subscribe(topic_recv);
|
||||
snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%03d/+/set_state", FABLOCKID);
|
||||
snprintf (topic_recv, TOPIC_BUFFER_SIZE, "fablock/%05d/+/identify", FABLOCKID);
|
||||
client.subscribe(topic_recv);
|
||||
}
|
||||
else
|
||||
@ -134,19 +123,7 @@ void setup()
|
||||
for(i = 0; i<MCP_INPUTS; i++)
|
||||
{
|
||||
mcp_relais.pinMode(i, OUTPUT);
|
||||
}
|
||||
|
||||
if(HAS_FEEDBACK)
|
||||
{
|
||||
if (!mcp_feedback.begin_I2C(MPC_FEEDBACK_ADDR))
|
||||
{
|
||||
Serial.println("MCP Error");
|
||||
while (1);
|
||||
}
|
||||
for(i = 0; i<MCP_INPUTS; i++)
|
||||
{
|
||||
mcp_feedback.pinMode(i, INPUT_PULLUP);
|
||||
}
|
||||
mcp_relais.writeGPIO(i, HIGH);
|
||||
}
|
||||
}
|
||||
|
||||
@ -172,16 +149,5 @@ void loop()
|
||||
snprintf (topic_send, TOPIC_BUFFER_SIZE, "fablock/%03d/%03d/state", FABLOCKID, i);
|
||||
client.publish(topic_send, msg);
|
||||
}
|
||||
|
||||
if(HAS_FEEDBACK)
|
||||
{
|
||||
for(int i=0; i<MCP_INPUTS; i++)
|
||||
{
|
||||
value = !mcp_feedback.digitalRead(i);
|
||||
snprintf (msg, MSG_BUFFER_SIZE, "%d", value);
|
||||
snprintf (topic_send, TOPIC_BUFFER_SIZE, "fablock/%03d/%03d/feedback", FABLOCKID, i);
|
||||
client.publish(topic_send, msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user