Sha256: fe939f0d04c372e57d6398d6f2073f7b81d0fd5f065c712b4eaf21b0e99d8642

Contents?: true

Size: 2 KB

Versions: 2

Compression:

Stored size: 2 KB

Contents

#include "Denko.h"
#include <SPI.h>
#include <Ethernet.h>

// Define 'serial' as the serial interface to use.
// Uses SerialUSB (left port), which is native USB, on Arduino Due and Zero, or Serial otherwise.
// On many boards, eg. Arduino Due, RP2040, Serial may be native USB anyway.
#if defined(__SAM3X8E__) || defined(__SAMD21G18A__)
  #define serial SerialUSB
  // Use this for Programming USB port (right) on Due and Zero.
  // #define serial Serial
#else
  #define serial Serial
#endif

// Configure your MAC address, IP address, and HTTP port here.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0x30, 0x31, 0x32 };
IPAddress ip(192,168,0,77);
int port = 3466;

Denko denko;
EthernetServer server(port);
EthernetClient client;

void printEthernetStatus() {
  Serial.print("IP Address: ");
  Serial.println(Ethernet.localIP());
  Serial.print("Port: ");
  Serial.println(port);
}

void setup() {
  // Wait for serial ready.
  serial.begin(115200);
  while(!serial);

  // Explicitly disable the SD card.
  pinMode(4,OUTPUT);
  digitalWrite(4,HIGH);

  // Start up the network connection and server.
  Ethernet.begin(mac, ip);
  server.begin();
  #ifdef debug
    printEthernetStatus();
  #endif

  // Add listener callbacks for local logic.
  denko.digitalListenCallback = onDigitalListen;
  denko.analogListenCallback = onAnalogListen;
}

void loop() {
  // Allow one client at a time to be connected. Set it as the denko IO stream.
  if (!client){
    client = server.available();
    if (client) denko.stream = &client;
  }

  // Main loop of the denko library.
  denko.run();

  // End the connection when client disconnects and revert to serial IO.
  if (client && !client.connected()){
    client.stop();
    denko.stream = &serial;
  }
}

// This runs every time a digital pin that denko is listening to changes value.
// p = pin number, v = current value
void onDigitalListen(byte p, byte v){
}

// This runs every time an analog pin that denko is listening to gets read.
// p = pin number, v = read value
void onAnalogListen(byte p, int v){
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
denko-0.13.1 src/denko_ethernet.ino
denko-0.13.0 src/denko_ethernet.ino