lowByte() highByte() now implemented?

Are the arduino wiring functions lowByte() and highByte() now implemented? For a while they were not and now I’m having a slew of compilation errors.

If this is the case, how do I know this from the online documentation? I’m searching for these functions but nothing comes up to tell me they are implemented now.


lowByte() and highByte() work for me (firmware version 0.6.1), but I do see that they are not in the docs (or at least, a search does not find them).

void setup() {
    byte low = lowByte(1027);
    byte high = highByte(1027);
    Serial.printlnf("low: %d   high: %d", low, high); // prints low: 3   high: 4

You should show your code, and the errors that you’re getting.

I can use the functions fine, I’m just bring some code back from the dead and had written lowByte() and highByte() functions because they did not exist in the particle library at the time.

The errors the compiler threw were a bit cryptic and it took me a while to see that what was getting flagged was not an error in my typecast but that I had actually redefined an existing library function.

What I am really asking is where do I find the complete list of library functions that are currently implemented? The documentation does not help me in this instance.

As far as I know, there is no simple list that you can look at. You can get the firmware on GitHub, and look at the Wiring/inc folder to see all the Wiring headers. lowByte() and highByte(), for instance, are defined as macros in spark_wiring_arduino_constants.h

@LabSpokane, there have been some glitches introduced with 0.6.1 due to intended “Arduino compatibility enhancements” that slightly backfired on code like yours where users have closed the previous gaps with own code.
That’s the reason why we currently see 0.6.2-rc.1 which is mainly focused on repairing this by rather having users to opt-in (enhanced Arduino compatibility) than opt-out as it currently is with 0.6.1.
The opt-out would have been fine, if there weren’t already loads of contributed libraries that can’t opt-out anymore as the contributors have stopped maintaining the library or just haven’t come round to update their libs.