Skip to content

Instantly share code, notes, and snippets.

Controlers:
controllerid, name
X00001, gate
X00002, folly
X00003, shed
X00004, passage
X00005, f-door
Cards:
unit_id, cardid, owner, readers[]
#!/usr/bin/python3
# Note: This code should also work with python 2
def crc16modbus(data, poly=0xA001, crc=0xFFFF):
data = bytearray(data)
for b in data:
crc ^= (0xFF & b)
for _ in range(0, 8):
if (crc & 0x0001):
#include <stdio.h>
#include <stdint.h>
uint16_t crc16modbus(uint8_t *data, uint16_t len)
{
uint16_t poly = 0xA001;
uint16_t crc = 0xffff;
uint8_t *ptr = data;
while(len--)
#!/usr/bin/python
mode="SERVER"
#mode="CLIENT"
port = 54545
bufferSize = 1024
import socket
import select
@mhutchins
mhutchins / udp.py
Created March 26, 2018 12:19
Simple UDP broadcast client/server snippet
#!/usr/bin/python
mode="SERVER"#mode="CLIENT"
port = 54545bufferSize = 1024
import socketimport select
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
if mode == "SERVER" :    s.sendto('This is a test', ('255.255.255.255', port))else:    s.bind(('<broadcast>', port))    s.setblocking(0)    while True:        result=select.select([s],[],[])        msg = result[0][0].recv(bufferSize)        print msg
Hit the ILO URL with: /xmldata?item=CpqKey