How to Install Interactive C for Handyboard on Ubuntu

9 replies [Last post]
zico
Title: NooBot+
Joined: 12/03/2009
Posts:
BotPoints: 16
User offline. Last seen 10 years 24 weeks ago.

Hello All,

I'm a novice Linux user and I want to install Interactive C for Handyboard on Ubuntu. Does anyone have instructions for this or has anyone here done it before?

Actually at the moment I think the link for the linux download is the same file as for the windows Interactive c installation:
http://www.botball.org/ic

Regards,
Zico.

Jeremy Rand
Jeremy Rand's picture
Title: Botball Youth Advisory Council
Joined: 04/03/2009
Posts:
BotPoints: 1168
User offline. Last seen 7 years 13 weeks ago.

Hi Zico,

You may be better off installing IC under WINE or a VM. IC (especially the Handy Board library) is no longer actively supported by KIPR, and I recall there were issues with the Linux build that weren't resolved. Or perhaps someone else has gotten it working and may be able to help you.

-Jeremy Rand
Senior Programmer, Team SNARC (2012-2013), Norman Advanced (2010-2011), Norman HS (2008-2009), Norman North (2005-2007), Whittier MS (2003-2004)
2012-2013 VP of Tech, 2011 President, Botball YAC (2009-2013)
Mentor, Alcott and Whittier MS

Jonathan Frias
Title: NooBot+
Joined: 07/17/2009
Posts:
BotPoints: 20
User offline. Last seen 12 years 27 weeks ago.

Yes, I actually e-mailed the one of the guys recently because the linux package of Ineractive C pointed to the windows version, which didn't make sense. They haven't gotten back to me but this is the email heretofore:

Thank you for updating the file. However it appears to be a tar inside of a tar(so i have to unzip 2 files), and in Ubuntu 9.10, there is an updated library 'libstdc.so.6' which is not compatible with the old library used 'libstdc.so.5'.
I was able to fix this by installing the old library. It isn't in the default Ubuntu repos, so i downloaded it from this website and got it to work.
http://packages.debian.org/stable/base/libstdc++5
Perhaps post that up there in a Readme or something to save other people some time?

Zachary Morris wrote:
> Hello,
>
> The download link for the Linux version of IC has been fixed. See: www.botball.org/ic .
>
> Best regards
> --
> Zachary Morris
> Lab Assistant
> KISS Institute for Practical Robotics
>
> On Thu, Dec 17, 2009 at 12:40 PM, Jonathan Frias > wrote:
>
> I just restored an old laptop, for use with botball, and we have
> xbc's so I went to download the xbc version of Interactive C. We
> used a Linux OS, when we installed it and the Linux version listed
> returns me this 'Interactive C_8_0_2.exe'. It is the windows
> installer that boots up even with wine. Am i suppose to use wine
> with it? Because that seems odd that I would have to. And theres
> no note saying that I should. Where is the stuff for Linux?
>

Jonathan Frias
Title: NooBot+
Joined: 07/17/2009
Posts:
BotPoints: 20
User offline. Last seen 12 years 27 weeks ago.

Oh and another thing. I did try running IC under wine, and spent a while messing around with it. The actual compiler works, but if you wanted to send your code over the wire, then I'd say that would be a waste of time. Something about ports not being recognized in WINE. Just download the old library and use the linux version. But I'm curious as to how much of this community actually uses linux.(besides me of course:P ).

zico
Title: NooBot+
Joined: 12/03/2009
Posts:
BotPoints: 16
User offline. Last seen 10 years 24 weeks ago.

Thanks, that has worked perfectly for Ubuntu once I used the old library files.

Also, does anyone know is there an older version of IC for Handyboard for Linux that doesn't have the expansion board attached. We have a lot of old handyboards with no expansion boards, and we can't use IC 8.0.2 as it reads the wrong Analog ports? Or does anyone know a way to disable the expansion board on the software.

Thanks again for all the help,
Zico.

KIPR Matthew
KIPR Matthew's picture
Title: KIPR Staff
Joined: 06/04/2009
Posts:
BotPoints: 154
User offline. Last seen 4 years 50 weeks ago.

My recollection of the Handy Board was that the expansion board did not matter, just don't call the analog and digital ports on the expansion board. I will check this soon and post my findings.

--Edit--

Yes. It seems to work fine. Analog ports 0-6 work and digital ports 7-15 work (the only ones on the main board). Note that you will still get values back by polling the expansion board ports, but they are garbage values. You can plug the screen in too, and still have output. You do loose the servo ports by not using the expansion board though.

Join the Botball folding at home team!
http://folding.stanford.edu/
Team 87314 "Botball"
Stats: http://folding.extremeoverclocking.com/team_summary.php?s=&t=87314

zico
Title: NooBot+
Joined: 12/03/2009
Posts:
BotPoints: 16
User offline. Last seen 10 years 24 weeks ago.

Hi KIPR Matthew,

Thanks for reply. The Digital ports (7- 15) work fine and the Analog Ports (2-6) are also fine. However the Analog ports 0 & 1 return an error saying they are being used by the expansion board even though I have no expansion board connected. If I type "Analog(20)" it actually gives me the reading on Analog Ports 0 & 1, but the same reading for each one as though they are connected. Is there a way to read both Analog 0 & 1 seperately?

Regards,
Zico.

KIPR Matthew
KIPR Matthew's picture
Title: KIPR Staff
Joined: 06/04/2009
Posts:
BotPoints: 154
User offline. Last seen 4 years 50 weeks ago.

Analog ports 0 & 1 pass data between the Expansion Board Ports and the Handy Board. Since you don't have an Expansion board this is annoying. When IC was written, it was a simpler version of ANSI C where the students could not mess anything up. So with the dawn of the Expansion Board a change was made to the library so you could not get the port 1 & 2 values because they would be garbage. So if you go into your IC/lib/handyboard folder and open up expsens.ic we see the change that was made. If you change line 21 from "if (port < 2) {" with out the quotes to "if (port < 0) {", that should allow you to get actual values from Analog ports 0 &1. These libraries are automatically loaded into the Handy Board on each download.

Keep in mind that any Handy Board that has a program downloaded from this machine will have this same change. So just don't plug a sensor into ports 0 or 1 if you have the Expansion Board connected.

I did not try this yet, but it should work. Best of luck.

P.S. Lots of Handy Board info here :
http://handyboard.com/hb/

Join the Botball folding at home team!
http://folding.stanford.edu/
Team 87314 "Botball"
Stats: http://folding.extremeoverclocking.com/team_summary.php?s=&t=87314

zico
Title: NooBot+
Joined: 12/03/2009
Posts:
BotPoints: 16
User offline. Last seen 10 years 24 weeks ago.

Hi KIPR,

Excellent ....... Just tried that and now Analog Ports 0 & 1 are working perfectly. We have no boards here with the expansion board so that shouldn't be a problem.
Thanks very much for the very fast reply!

Regards,
Zico.

catron
catron's picture
Title: ZoomBot
Joined: 06/02/2009
Posts:
BotPoints: 98
User offline. Last seen 10 years 25 weeks ago.

@Jeremy Rand
For future reference wine does not support serial communication at an acceptable level. So while IC may have run, it is unlikely at best you would be able to download to a handyboard.

"When you do things right, people won't know you've done anything at all."