From Openmoko

Jump to: navigation, search
These are my scribbles. Should be cleaned up and moved into real pages if useful.


Bluetooth keyboards

I've tested two bluetooth keyboards. After having a bit of trouble, I've been able to get things worked out and use them both. They rock. Now, I just have to fiddle and get things working without command line stuff being needed.

Possible bug

Clock display doesn't update with Timezone display change. (ie TZ change from Standard to Daylight -- date"returns right value, clock no) -- oddly, some weirdness, I had the system clock set wrong (?) and the date bar under the clock was ahead (it was 11 something pm, but should have shown today's date, but instead showed tomorrows)

Interesting sites <-- has neo cases - DE neo guys, and some of their software

Build info

Get your daily Snapshot_review -- find out if a snapshot works before you flash it.

GPS stuff

GPS Sight - seems to be a basic track visualizer

Ugly hack to get Time info from a GPS stream: (UNTESTED)

awk -F',' '/^\$GPRMC/{print "date "substr($10,3,2) substr($10,1,2) 
substr($2,1,2) substr($2,3,2) 2000+substr($10,5)"."substr($2,5)}'

(all on one line, cut for readability)

[1] contains some good info for decoding, and [2] is a good link for getting started. Another good link is here at OSM

There are some reasonable packages which can help with GPS now, such as Navit and Pyroute (thanks User:Wurp. I'll have to hack at them a bit when I get a chance.

I've done some hacking with awk scripts, so I know a bit about the layout and format of the various NMEA bits. For one bit that is undocumented, here is a ref to the OM repo - the bit I was looking for was the $PGLOR sentence.

Power/PM/tray icon

Module for mb_panel -- should use /proc/apm to look at Power remaining. Reference is here

Getting Battery status: cat `find /sys/ -name battvolt` the output is in millivolts. ~4224 millivolts is completely charged (observed 3568 lowest, 4207 highest)

exact location is /sys/devices/platform/s3c2410-i2c/i2c-adapter/i2c-0/0-0008/

nicer script (cwd must be above)- CHARGE=`cat battvolt` && awk -v charge=${CHARGE} 'BEGIN {print charge/4224*100" "charge }'

A nice script that allows you to up the charger speed -- Make sure your charging device won't be smoked! Forcing fast charge mode#The_checkFastCharge.py_daemon

uncatted now

This is a mess right now, but undergoing cleaning.

There is a project to get FreeBSD working on the Neo. Might be something to look at later in March.

Setting the timezone: [3] (I had to use a hard link, but a symlink should work. Remember to log out (remote) or cycle the GUI/reboot to get this to take effect).

Development with Eclipse - have to check it out.

The essential GSM_850_test

Orientation of screen:

xrandr -o 1 turns screen to landscape mode (xrandr -o 0 to go back to ordinary portrait)

GTA01_gsm_modem for AT commands; Gsmd for manual AT stuff

To get sound working: alsactl -f /etc/alsa/gsmhandset.state restore

Trying to record sound from the mic:

cat /dev/dsp does sample the ADC It's then 'simply' a case of setting the mixer controls so that the sound is routed from the mic to the adc See the nice simple explanatory block diagram in the middle of for guidance. In principle. You need to find which mic input the mic is connected to, setup the input gain and mic selector appropriately,setup the ALC mixer right, then set it up to route to the left or right ADC alsactl can do it (alsamixer)

alsactl -f /etc/alsa/capturehandset.state restore
arecord -f cd -t wav -d 10 foo.wav
Make noise for 10 seconds
alsactl -f /etc/alsa/stereoout.state restore
aplay foo.wav

Note from User:Wurp: You'll need to shut down pulseaudio before aplay will work (you also need to do this to get mplayer to play audio). Use '/etc/init.d/pulseaudio stop' before 'aplay foo.wav'. There is probably a better way to do this, but I don't know it.

Booting: Old boot noise documented here

more GPS:

Note from User:Wurp: I got an awk script, I think from SpeedEvil, that deciphers /tmp/nmeaNP. Here it is:

/PGRME/{herr=sqrt($2^2+$4^2); err=$6}
/GPRMC/{print substr($10,1,2)"/"substr($10,3,2)"/"substr($10,5,2), h":"m":"s,(h*3600)+(m*60)+s,ndeg,nmin,wdeg,wmin, ndeg+(nmin/60),wdeg+(wmin/60), $10,$9,herr+0,err+0,v }

I prefer to use gpsd output, though, via pygps.

Personal tools