Open Pandora for "Other stuff"?


TDT

Member
Joined
Aug 15, 2008
Messages
139
Hey all,

I've been thinking about this recently, and I'm considering setting up my Open Pandora as an Japanese -> English Translator, plus kanji recognizer (through KanjiPad).  I have all this working on my nexus 7 already, but with the Pyra eventually coming out, I have some incentive to learn how to program for the Open Pandora.

I'm kinda curious really about other's experiences using the Open Pandora for more than just playing video games, or maybe listening to music.  Personally, I find the nubs a bit hard to get used to as a mouse, so a more efficient (less mouse required) interface is really something I want.  Maybe over time I'd get used to the nubs a bit better, maybe.  For those using the OP for more than video games, did you install another operating system on it at all, or are you using the standard?

I'm hoping to start developing on it this weekend.  I plan on trying with the Code::Blocks (I think that's the name?) package to see how that works at first.  Trying to simply use ssh, and if possible just compile on he OP while doing the 'real development' more locally.  Is this pretty feasible/good plan?

This post isn't very focused, sorry about that.  Kinda more in a 'research phase' for a lot of this stuff, seeing what I can/should do.

Thanks for any feedback/tips on how you use your OP outside gaming.

-TDT
 
If you're coding on a different machine, it may be easier to just cross compile on it as well, and scp the binaries over. If not because the OpenPandora is kinda slow at compiling stuff.
 
I code and compile on the Pandora.

All the code is natively compiled on the Pandora (using code::blocks command line). Most of the time, when I'm home, I connect to the Pandora using SSH so I can use proprer mouse/keyboard/screen to launch compilation and use Samba share on the Pandora so I can use Notepad++ or Geany from my Windows computer to modify sources.

Then, I only use my Pandora to continu working on my project when not home...
 
Last edited by a moderator:
If you're coding on a different machine, it may be easier to just cross compile on it as well, and scp the binaries over. If not because the OpenPandora is kinda slow at compiling stuff.
I think in the long run, I'll probably do this with a VM.  I saw there was a VirtualBox machine someone built that can be used.  I'm not really new at development, but am really new at building stuff for devices (what I kinda view as non-computers, even though the Pandora is a real computer).  

I code and compile on the Pandora.

All the code is natively compiled on the Pandora (using code::blocks command line). Most of the time, when I'm home, I connect to the Pandora using SSH so I can use proprer mouse/keyboard/screen to launch compilation and use Samba share on the Pandora so I can use Notepad++ or Geany from my Windows computer to modify sources.

Than, I only use my Pandora to continu working on my project when not home...
This is how I'll probably start.  So it sounds like you have a windows share on your desktop/laptop, that contains your source code.  You use Notepad++ to edit the code, then an SSH terminal to compile the source from your pandora.  Am I right in this way of development?

If so, this sounds like a really good idea.  I may try something similar, except using an NFS mount to my NAS (which can be smb mounted to my desktop).

Since the Open Pandora uses an ARM processor, and the RaspberryPi also uses an ARM processor - has anyone tried developing on the Raspberry pi, testing a bit there, then compiling/moving the .pnd to the raspberry pi for testing?  Not sure how well that'd work, just given that at least for my Raspberry Pi setup, it's all headless terminal based.
 
As far as "other stuff" (wide definition) is concerned:

- I´m currently using it as BBC World Service "radio", thanks to RadioTray.

- And I can organize photos on it much better & faster than i can on my original camera (since both use SD card), thanks to Pandora Image Viewer.

- reading Project Guttenberg books, thanks to CoolReader

- recording music practice, thanks to mhWaveEdit (very good quality with the inbuilt mic)

Summa summarum of all "other stuff" combined: 40% of PAndora time? Yes :)
 
The share are on my Pandora, the Pandora has a Samba server. I use Notepad++ to access sources on the Pandora. The rest is correct. Using SSH, I launch the configure, cmake, make, and so on...
 
Since the Open Pandora uses an ARM processor, and the RaspberryPi also uses an ARM processor - has anyone tried developing on the Raspberry pi, testing a bit there, then compiling/moving the .pnd to the raspberry pi for testing?  Not sure how well that'd work, just given that at least for my Raspberry Pi setup, it's all headless terminal based.

There are slight differences in the processors that could make just moving executable files over to one may not work quite right. like lack of neon on the RPi, hard/soft float libraries since the Pandora generally uses a softfloat library vs hardfloat. It's possible to make a generic ARM executable, However you can usually can just take the same source code and compile it for the Pandora and save yourself a ton of headaches.
 
Last edited by a moderator:
^ Unless you want to use GL|ES. Broadcom has really done their homework on making the GPU as difficult, annoying and non-standard to init as possible.
 
Since the Open Pandora uses an ARM processor, and the RaspberryPi also uses an ARM processor - has anyone tried developing on the Raspberry pi, testing a bit there, then compiling/moving the .pnd to the raspberry pi for testing?  Not sure how well that'd work, just given that at least for my Raspberry Pi setup, it's all headless terminal based.
I compiled a little test script using g++ on the Raspberry Pi (under Raspbian). It works under Pandian, because both systems are hard float, but it doesn't run under Super Zaxxon since that's a soft float system.
 
I code and compile on the Pandora.

All the code is natively compiled on the Pandora (using code::blocks command line). Most of the time, when I'm home, I connect to the Pandora using SSH so I can use proprer mouse/keyboard/screen to launch compilation and use Samba share on the Pandora so I can use Notepad++ or Geany from my Windows computer to modify sources.

Then, I only use my Pandora to continu working on my project when not home...
I just realized, it looks like anyways from my reading, that you created Code Blocks.

How are you doing the compilation, with codeblocks, over the command line through SSH?

Tried something like:

op:/usr/share/applications$ /usr/pandora/scripts/pnd_run.sh -p "/media/PANDORA/codeblocks.pnd" -e "runcli.sh" -b "codeblocks"

(as the run-script thing does..)

http://boards.openpandora.org/topic/11334-application-codeblocks-and-commandline-compile-everything/page-3#entry216199 mentions this 'feature request'.  Went through the rest of the pages in that thread, but couldn't really find out how to run it over ssh.

Edit: Through more searching, I found http://pandoralive.info/?p=485 -- not sure if there's an 'easier' way to do all this, with just sshing in and running one script vs running some stuff on OP before running stuff through ssh - but this seems kinda useful.
 
Last edited by a moderator:
Ah yes, just realized I never explained and easy way to do it :S

Here is how I do.

1. On the Pandora, I just launch a code::block command line, so the PND is mounted, ldconfig is done... And keep terminal this one open.

Somewhere in your favorite folder, put a bash file, that I called cb_cli.sh, and that is more or less a copy of the actual cb_cli.sh used by codeblocks.

Here is a copy of it:

Code:
#! /bin/sh
 
echo Preparation de Codeblock
echo a lancer ". cb_cli.sh"
 
pwd=/mnt/utmp/codeblocks
 
echo "--------------------------------------------------------------"
echo "Setting PATH to $pwd:$pwd/bin:$pwd/usr/bin:$pwd/wx/bin:$pwd/home/bin:$PATH"
export PATH=$pwd:$pwd/bin:$pwd/usr/bin:$pwd/wx/bin:$pwd/home/bin:/$pwd/wine/bin:$PATH
 
echo "--------------------------------------------------------------"
echo "Setting PKG_CONFIG_PATH to $pwd/local/lib/pkgconfig:$pwd/usr/lib/pkgconfig:$pwd/usr/share/pkgconfig:$pwd/lib/pkgconfig"
export PKG_CONFIG_PATH=$pwd/local/lib/pkgconfig:$pwd/usr/lib/pkgconfig:$pwd/usr/share/pkgconfig:$pwd/lib/pkgconfig
 
echo "--------------------------------------------------------------"
echo "Setting GIT_TEMPLATE_DIR to $pwd/usr/share/git-core/templates"
export GIT_TEMPLATE_DIR=$pwd/usr/share/git-core/templates
 
echo "--------------------------------------------------------------"
echo "Setting CDEVROOT to $pwd"
export CDEVROOT=$pwd
 
echo "--------------------------------------------------------------"
echo "Setting XDG_DATA_DIRS to $pwd/usr/share:$XDG_DATA_DIRS"
export XDG_DATA_DIRS=$pwd/usr/share:$XDG_DATA_DIRS
 
echo "--------------------------------------------------------------"
echo "Setting up OE_QMAKE variables"
export OE_QMAKE_CC=gcc
export OE_QMAKE_CXX=g++
export OE_QMAKE_LINK=g++
export OE_QMAKE_STRIP=strip
export OE_QMAKE_LIBDIR_QT=$pwd/usr/lib
export OE_QMAKE_INCDIR_QT=$pwd/usr/include/qt4
export OE_QMAKE_MOC=$pwd/usr/bin/moc
export OE_QMAKE_UIC=$pwd/usr/bin/uic
export OE_QMAKE_UIC3=$pwd/usr/bin/uic3
export OE_QMAKE_RCC=$pwd/usr/bin/rcc
export OE_QMAKE_AR=ar
export OE_QMAKE_QDBUSCPP2XML=$pwd/usr/bin/qdbuscpp2xml
export OE_QMAKE_QDBUSXML2CPP=$pwd/usr/bin/qdbusxml2cpp
export OE_QMAKE_QT_CONFIG=$pwd/usr/mkspecs/qconfig.pri
export QMAKESPEC=$pwd/usr/mkspecs/linux-pandora-g++
 
echo "--------------------------------------------------------------"
echo "Setting up AutoTools variables"
export autom4te_perllibdir=$pwd/usr/share/autoconf
export GNUCONFIGDIR=$pwd/usr/share/gnu-config
export AC_MACRODIR=$pwd/usr/share/autoconf
export M4=$pwd/usr/bin/m4
export AUTOM4TE=$pwd/usr/bin/autom4te
export AUTOCONF=$pwd/usr/bin/autoconf
export AUTOHEADER=$pwd/usr/bin/autoheader
export perllibdir=$pwd/usr/share/automake-1.13
export ACLOCAL_AUTOMAKE_INCLUDES=$pwd/usr/share/aclocal-1.13
export ACLOCAL_SYSTEM_INCLUDES=$pwd/usr/share/aclocal
export G_CHARSET_ALIAS=$pwd/usr/lib/charset.alias
 
echo "--------------------------------------------------------------"
echo "Setting PYTHONHOME to $pwd/usr"
export PYTHONHOME=$pwd/usr
echo "Setting PYTHONPATH to /usr/local/lib/python2.7/site-packages"
#export PYTHONPATH=/usr/local/lib/python2.6/site-packages
export PYTHONPATH=$pwd/usr/lib/python2.7/site-packages
 
echo "Setting LD_LIBRARY_PATH to $pwd:$pwd/lib:$pwd/usr/lib:$pwd/wx/lib:$pwd/wine/lib:/lib:/usr/lib"
export LD_LIBRARY_PATH=$pwd:$pwd/lib:$pwd/usr/lib:$pwd/wx/lib:$pwd/wine/lib:/lib:/usr/lib
 
 
#new export from new perl 5.17.6
export PERL_LOCAL_LIB_ROOT="/mnt/utmp/codeblocks/perl";
export PERL_MB_OPT="--install_base /mnt/utmp/codeblocks/perl";
export PERL_MM_OPT="INSTALL_BASE=/mnt/utmp/codeblocks/perl";
export PERL5LIB="/mnt/utmp/codeblocks/perl/lib/5.17.6/armv7l-linux-thread-multi:/mnt/utmp/codeblocks/home/perl5/lib/5.17.6:/mnt/utmp/codeblocks/perl/lib/site_perl/5.17.6/armv7l-linux-thread-multi:$PERL5LIB";
export PATH="$pwd/local/bin:$pwd/perl/bin:$PATH";
 
#python 3 ???
 
#end
 
cp ~/.Xauthority $pwd/home
export HOME=$pwd/home
 
export XDG_DATA_HOME="$pwd/home"
export XDG_CACHE_HOME="$pwd/home/Cache"
export XDG_CONFIG_HOME="$pwd/home/Config"
 
export QTWEBKIT_PLUGIN_PATH="$pwd/usr/plugins"
export QT_PLUGIN_PATH="$pwd/usr/plugins"
export MOZILLA_HOME="$pwd/usr"
 

2. On the SSH terminal, just do

Code:
cd /favorite/folder/where/cd_cli/is
. cb_cli.sh

 

and that's it, your Terminal is now a "codeblocks command line", with all the tools available.

 

Some time I open 2 SSH terminal, each one with a compilation going on, + the command line on the Pandora that is also compiling, so I have 3 compilations at the sametimes (you'll need a swapfile for that). I do that because I have long compilation going on most of the time (like LibreOffice, GCC, some wxWidget/QT, Wine....), but I also want to do other thing whithout interupting the long one :)

 

And it works very well. The Pandora is a very powerfull device!
 
Last edited by a moderator:
On a recent vacation to a predominantly Spanish speaking country, I was able to use my Pandora with Ding to get around, more or less (mostly menos ;) )
 
I've been thinking about this recently, and I'm considering setting up my Open Pandora as an Japanese -> English Translator, plus kanji recognizer (through KanjiPad).
You can do that but that's anyway going to be inferior to the japanese translator devices on the market (with very complete dictionaries, much more than JDIC). Depends what your level of expectation is.
 
Wasn't the gp2x version 3 marketed as a translation device?


Would it be possible to get the softwae running on Pandora via ginge?
 
Ah. The f300 is actually an english language learning handheld now.


mixed that up. There are a lot of japanese dictionaries for the ds though.
 
Not really other stuff but my pandora functioned really well on the funeral of my sister in law (who died much too young just 31 years old) the funeral people did manage to destroy my TV-out cable (i guess it was the person who gave it back to me since the 'audio'-guys were really impressed by the pandora :D )
 
sshfs is also an excellent option for keeping files on the Pandora but mounting them over ssh to a system with your IDE of choice.

Sent from my SAMSUNG-SM-N900A using Tapatalk
 
Back
Top