DMXSimple Library

Hi All,

I’ve been using the DMXSimple library to control a DMX dimmer. As I’m trying to explore things a little further I thought it would be best to move onto the newer IDE. Unfortunately I can’t manage to use the DMXSimple Library. I’m getting this error message:

/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:11:20: error: wiring.h: No such file or directory
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp: In function ‘void dmxBegin()’:
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:57: error: ‘digitalPinToPort’ was not declared in this scope
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:57: error: ‘portOutputRegister’ was not declared in this scope
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:58: error: ‘digitalPinToBitMask’ was not declared in this scope
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:61: error: ‘OUTPUT’ was not declared in this scope
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:61: error: ‘pinMode’ was not declared in this scope
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp: In function ‘void dmxWrite(int, uint8_t)’:
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:183: error: ‘max’ was not declared in this scope
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp: In function ‘void dmxMaxChannel(int)’:
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:194: error: ‘min’ was not declared in this scope

Here is an example of the kind of basic code that I’ve been using:

#include <DmxSimple.h>

void setup() {
/* The most common pin for DMX output is pin 3, which DmxSimple
** uses by default. If you need to change that, do it here. */
DmxSimple.usePin(3);

/* DMX devices typically need to receive a complete set of channels
** even if you only need to adjust the first channel. You can
** easily change the number of channels sent here. If you don’t
** do this, DmxSimple will set the maximum channel number to the
** highest channel you DmxSimple.write() to. */
DmxSimple.maxChannel(4);
}

void loop() {
/* Update DMX channel 1 to new brightness */
DmxSimple.write(1, 80);
DmxSimple.write(2, 150);

/* Small delay to slow down the ramping */
}

As I’m trying to explore things a little further I thought it would be best to move onto the newer IDE. Unfortunately I can’t manage to use the DMXSimple Library. I’m getting this error message:

which means that the DMXSimple library that you have has not been migrated to 1.0+. Have you checked to see if there is a newer version?

If not, edit the file mentioned, and change wiring.h to Arduino.h and try again.

Thanks for the reply, I have checked for a later version but can’t find one. Where to I find the file needs to be changed. Is it in the library folder itself?

Where to I find the file needs to be changed.

The error message tells you:
/Users/jackjames/Documents/Arduino/libraries/DmxSimple/DmxSimple.cpp:11:20: error: wiring.h: No such file or directory

Thanks again. Problem is that file is in the exact place that the search path is looking and I can't find any file named either wiring.h or Arduino.h in that folder.

You need to edit that file. It contains a line that says

#include "wiring.h"

(Or maybe there are < and > around the name).

Change wiring.h to Arduino.h.

Great, thank you so much for walking me through that. As slow as it was... Cheers