Skip to content

Commit a9c64a7

Browse files
committed
README updated
1 parent 19aa1f4 commit a9c64a7

File tree

3 files changed

+21
-16
lines changed

3 files changed

+21
-16
lines changed

README.md

+19-14
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
sACN to DMX converter
22
=====================
33

4+
### version 0.2
5+
6+
47
This little command-line tool provides an interface between sACN network and DMX hardware. Basically it feeds your DMX dongle with whatever comes from sACN receiver.
58

69
At the moment being there are two supported types of interfaces:
7-
1. Enttec Open DMX. It is widely known as one of the cheapest DMX dongles on the market. Many clones of this device have been manufactured around the world thanks to its simplicity and openness. Basically, a variety of cheap USB-RS485 converters off aliexpress will work just as good as original device (as soon as it is a FTDI chip based device). You can even make one yourself if you know which side of soldering iron is safe to touch :) I will not provide instructions though. Google it.
10+
1. Enttec Open DMX. It is widely known as one of the cheapest DMX dongles on the market. Many clones of this device have been manufactured around the world thanks to its simplicity and openness. Basically, a variety of cheap USB-RS485 converters off aliexpress will work just as good as original device (as soon as it is an FTDI chip based device). You can even make one yourself if you know which side of soldering iron is safe to touch :) I will not provide instructions though. Google it.
811

9-
2. Generic UART interface. As soon as your UART (COM-port) interface can run at 250kbit it can be used (in theory) to feed DMX data to fixtures. Not all built-in UARTs are able to run that fast, but it's not a good idea to wire your motherboard directly to your lights anyway. Yet i tested this approach on FT232 VCP mode, CH340/341 USB-UART chips and built-in UART on Raspberry Pi and it works. So if previous option is not for you, you can test this one. It is supposed to work with pretty much any USB-RS485 interface. No warranties provided though, i only tested it on what i have on hand.
12+
2. Generic UART interface. As soon as your UART (COM-port) interface can run at 250kbit it can be used (in theory) to feed DMX data to fixtures. Not all built-in UARTs are able to run that fast, but it's not a good idea to wire your motherboard directly to your light fixtures anyways. Yet i tested this approach on FT232 VCP mode, CH340/341 USB-UART chips and even built-in UART on Raspberry Pi and it works. So if previous option is not for you, you can test this one. It is supposed to work with pretty much any USB-RS485 interface. No warranties provided though, i only tested it on what i have on hand.
1013

1114
How to use
1215
----------
1316

14-
This is a command-line tool, so you run this in terminal. If you're a linux user you need no explaination. If you run Windows search for "command line" or "power shell" in your Start menu.
17+
This is a command-line tool, so you run this in terminal. If you're a linux user you probably need no further explaination. If you run Windows, search for "command line" or "power shell" in your Start menu.
1518

16-
First you want to find out what hardware devices are available in your system. You may run the tool with `-t <device type> -l` options:
19+
First you want to find out what hardware devices are available on your system. You may run the tool with `-t <device type> -l` options:
1720

1821
d:\sacndmx\sacndmx.exe -t uart -l
1922
Port 0: COM1
2023
Port 1: COM6
2124

22-
Now you see what devices are available. There are two possible variants of '-t': uart and opendmx. Latter is default if no `-t` option provided.
25+
Now you see all available devices. There are two possible variants of `-t`: `uart` and `opendmx`. Latter is default.
2326

2427
Also you may want to know what ip-addresses you can bind to. Check possible adresses with `-n` option:
2528

@@ -32,21 +35,21 @@ Now let's say you want to run the tool on COM6 and bind to 192.168.1.101. Provid
3235

3336
D:\sacndmx>sacndmx.exe -t uart -d COM6 -s 192.168.1.101
3437
sACN-DMX is starting...
35-
Using general UART (COM6)
36-
sACN listener started on 192.168.1.101.
37-
DMX stream started on general UART (COM6)
38+
Using generic UART (COM6)
39+
sACN listener started on 192.168.1.101
40+
DMX stream started on generic UART (COM6)
3841

39-
In most cases you will need to provide an ip address option. By default the tool will stick itself to 'localhost' address, which means that it will only listen to a machine it is running on.
42+
In most cases you will need to provide an ip-address option. By default the tool will stick itself to 'localhost' address, which means that it will only listen to a machine it is running on.
4043

4144
On linux, you use your tty device path instaed of port name:
4245

4346
lightmaster@pi ~/sacndmx> ./sacndmx -t uart -d /dev/ttyAMA0 -s 192.168.1.90
4447
sACN-DMX is starting...
45-
Using general UART (/dev/ttyAMA0)
46-
sACN listener started on 192.168.1.90.
47-
DMX stream started on general UART (/dev/ttyAMA0)
48+
Using generic UART (/dev/ttyAMA0)
49+
sACN listener started on 192.168.1.90
50+
DMX stream started on generic UART (/dev/ttyAMA0)
4851

49-
And finally, if you want to run Enttec OpenDMX'ish device, you can let the `-t` option go and you can pick a particular device by its serial number:
52+
And finally, if you want to run Enttec OpenDMX'ish device, you can let the `-t` option go:
5053

5154
lightmaster@pi ~/sacndmx> ./sacndmx -l
5255
Device 0: Uncle Eugene's DMX Dongle A (S/N A5069FNKA)
@@ -62,10 +65,12 @@ And finally, if you want to run Enttec OpenDMX'ish device, you can let the `-t`
6265

6366
All this is just the same way on Windows. You can of course get full list of possible options with usual `-h` key.
6467

68+
Sidenote: on linux you could get four `opendmx` devices for one actual hardware unit. Most likely you need the first one, so you can omit `-d` option. Not sure why it works this way. But if you need to pick another one you still can use `-d`, i.e. `-d A5069FNKA`.
69+
6570
Not yet here
6671
------------
6772

68-
There are couple of things not yet implemented but planned.
73+
There are couple of things not yet implemented but planned:
6974
1. incoming Art-Net support. Must be an easy one, there are libraries :)
7075
2. More hardware types. uDMX and enttecPro to begin with.
7176
3. Automatic hardware reconnect. Doable, but will take some effort to implement properly. Right now it will just fail if hardware connection is lost.

hardware/generalUART.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (d *UART) GetSerial() string {
5050
}
5151

5252
func (d *UART) GetDescription() string {
53-
return "general UART"
53+
return "generic UART"
5454
}
5555

5656
func (d *UART) SelectDevice(name string) error {

sacndmx.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ func main() {
101101
}
102102
})
103103
recv.Start()
104-
fmt.Printf("sACN listener started on %s.\n", CLIOptions.IPAddr)
104+
fmt.Printf("sACN listener started on %s\n", CLIOptions.IPAddr)
105105

106106
go dmx.Run()
107107
fmt.Printf("DMX stream started on %s (%s)\n", dmx.GetDescription(), dmx.GetSerial())

0 commit comments

Comments
 (0)