I purchased a “Grove Starter Kit for 96Boards” from Seeed. I opened the manual and started going through it step-by-step. In general everything worked except for a couple typos and a link that lead to an old version of Debian. I did all the software install steps, and I made and ran the I2C program to run the RGB LCD display. Worked great.
Then I tried what I had thought would be the easiest experiment since it just uses GPIO. I connected the touch and relay modules and compiled the demo program. Make is clean no messages. The demo program dies on the first line of code.
The program is attempting to attach to the wrong GPIO (actually it is failing to attach to any GPIO). The bad line reads:
mraa::Gpio* touch_gpio = new mraa::Gpio(29);
The error message is:
Terminate called after throwing an instance of 'std::invalid_argument'
what(): Invalid GPIO pin specified
From reading the schematics I know it should be GPIO_25, but changing the source to 25 doesn’t work. Realistically since this is supposed to work with any 96Board, I think it should read “GPIO_H”.
What am I doing wrong?
The Seeed instructions install and use the Intel mraa package which seems to be pretty cool and has support for everything Seeed makes.