LumensalisCP.Lights.LCP_StupidArtnetServer
(Very) Simple Implementation of Artnet.
Python Version: 3.6 Source: http://artisticlicence.com/WebSiteMaster/User%20Guides/art-net.pdf 
NOTES
- For simplicity: NET and SUBNET not used by default but optional
Module Contents
Classes
StupidArtnetASIOServer | (Very) simple implementation of an Artnet Server. |
|---|
Functions
shift_this | Utility method: extracts MSB and LSB from number. |
|---|---|
clamp | Utility method: sets number in defined range. |
set_even | Utility method: ensures number is even by adding. |
put_in_range | Utility method: sets number in defined range. DEPRECATED: this will be removed from the library |
make_address_mask | Returns the address bytes for a given universe, subnet and net. |
test_callback | Test function, receives data from server callback. |
API
LumensalisCP.Lights.LCP_StupidArtnetServer.shift_this(number, high_first=True)
Utility method: extracts MSB and LSB from number.
Args: number - number to shift high_first - MSB or LSB first (true / false)
Returns: (high, low) - tuple with shifted values
LumensalisCP.Lights.LCP_StupidArtnetServer.clamp(number, min_val, max_val)
Utility method: sets number in defined range.
Args: number - number to use range_min - lowest possible number range_max - highest possible number
Returns: number - number in correct range
LumensalisCP.Lights.LCP_StupidArtnetServer.set_even(number)
Utility method: ensures number is even by adding.
Args: number - number to make even
Returns: number - even number
LumensalisCP.Lights.LCP_StupidArtnetServer.put_in_range(number, range_min, range_max, make_even=True)
Utility method: sets number in defined range. DEPRECATED: this will be removed from the library
Args: number - number to use range_min - lowest possible number range_max - highest possible number make_even - should number be made even
Returns: number - number in correct range
LumensalisCP.Lights.LCP_StupidArtnetServer.make_address_mask(universe, sub=0, net=0, is_simplified=True)
Returns the address bytes for a given universe, subnet and net.
Args: universe - Universe to listen sub - Subnet to listen net - Net to listen is_simplified - Whether to use nets and subnet or universe only, see User Guide page 5 (Universe Addressing)
Returns: bytes - byte mask for given address
class LumensalisCP.Lights.LCP_StupidArtnetServer.StupidArtnetASIOServer(pool: socketpool.SocketPool, port=6454)
(Very) simple implementation of an Artnet Server.
Initialization
Initializes Art-Net server.
socket_server = None
ARTDMX_HEADER = b’Art-Net\x00\x00P\x00\x0e’
listeners = []
__init_socket(pool: socketpool.SocketPool)
Initializes server socket.
async _listenLoop()
__del__()
Graceful shutdown.
__str__()
Printable object state.
register_listener(universe=0, sub=0, net=0, is_simplified=True, callback_function=None)
Adds a listener to an Art-Net Universe.
Args: universe - Universe to listen sub - Subnet to listen net - Net to listen is_simplified - Whether to use nets and subnet or universe only, see User Guide page 5 (Universe Addressing) callback_function - Function to call when new packet is received
Returns: id - id of listener, used to delete listener if required
delete_listener(listener_id)
Deletes a registered listener.
Args: listener_id - Id of listener to delete
Returns: None
delete_all_listener()
Deletes all registered listeners.
Returns: None
see_buffer(listener_id)
Show buffer values.
get_buffer(listener_id)
Return buffer values.
clear_buffer(listener_id)
Clear buffer in listener.
set_callback(listener_id, callback_function)
Add / change callback to a given listener.
set_address_filter(listener_id, universe, sub=0, net=0, is_simplified=True)
Add / change filter to existing listener.
close()
Close UDP socket.
static validate_header(header)
Validates packet header as Art-Net packet.
- The packet header spells Art-Net
- The definition is for DMX Artnet (OPCode 0x50)
- The protocol version is 15
Args: header - Packet header as bytearray
Returns: boolean - comparison value
LumensalisCP.Lights.LCP_StupidArtnetServer.test_callback(data)
Test function, receives data from server callback.