User type question

Hi Group;

I'm pretty new here and have only had my Arduino (Freeduino Serial v2.0 board kit) for a week now. My past experience with MP was with the Picaxe series for around a year or so. While I found the Picaxe to be a very good and affordable introduction, I wanted to venture into the C world. I have an extensive electronic background in the process control industry but have been weak on software experience. Now that I'm retired I have the time to pursue this ambition.

Looking for a first good project (after testing with Blink of course ;)) I stumbled across a really cool open source PC monitoring, trending and data storage application called Liberlab.
http://www.liberlab.net/
There are some nice web casts included showing it's features and operations. I then found a site where a Arduino sketch had been developed to act as the data front end for Liberlab.
https://web.archive.org/web/20210213213548/http://www.uchobby.com/index.php/2008/01/19/arduino-liberlab-liberino/
I had to modify one function to get the digital read-back status to work correctly and found that the Liberlab data capture speed had to be set to at least .02 seconds or more to operate reliably. It's working great, reading and displaying 4 analog inputs and controlling 6 digital outputs on the Arduino at 57600 baud rate.

Anyway the main reason I'm posting is I have a question about a type definition used in the sketch that I can't seem to find out it's source. Here are two examples from the sketch:

uint8_t status = readDigital8();

uint8_t ch = Serial.read();

There is no prior definition for "uint8_t" in the sketch and I didn't see it as a reserved word in the Auduino reference material. Is it buried in some standard library? The sketch of course compiles fine and the program works, but I haven't a clue where this type comes from. Can someone educate me in this?

Thanks
Lefty

I don't know where it comes from (I suspect avr-gcc), but it's an abbreviation for "unsigned integer, 8 bits".

-j

I haven't a clue where [uint8_t] comes from.

This and similarly constructed type names come from the C99 standard. See C data types - Wikipedia for more information.

In avr-gcc (used for Arduino), they are defined in inttypes.h.

Thanks Don, that's what I was looking for.

Lefty