Topic for #qi-hardware is now Copyleft hardware - http://qi-hardware.com | hardware hackers join here to discuss Ben NanoNote, atben / atusb 802.15.4 wireless, and other community driven hw projects | public logging at http://en.qi-hardware.com/irclogs
hack has joined #qi-hardware
pcercuei has joined #qi-hardware
kuribas has quit [Quit: ERC Version 5.3 (IRC client for Emacs)]
pcercuei has quit [Ping timeout: 248 seconds]
wej has quit [Ping timeout: 264 seconds]
wej has joined #qi-hardware
wej has quit [Ping timeout: 260 seconds]
wej has joined #qi-hardware
FrankBlues has quit [Remote host closed the connection]
panda|x201 has joined #qi-hardware
unclouded has quit [Ping timeout: 260 seconds]
wej has quit [Ping timeout: 260 seconds]
LunaVorax has quit [Quit: Quitte]
wej has joined #qi-hardware
unclouded has joined #qi-hardware
wej has quit [Ping timeout: 264 seconds]
wej has joined #qi-hardware
<DocScrutinizer05>
and I still think OE was the birth defect in OM
<DocScrutinizer05>
afaik SHR has no proper non-root user accounts (or even any accounts) til this very day
wej has quit [Ping timeout: 260 seconds]
<DocScrutinizer05>
I still like to think of OE as "linux for fridges"
wej has joined #qi-hardware
<DocScrutinizer05>
while you could define a usual phone as an embedded device (= only custom UI with limited clearly defined functionality), a smartphone already boldly fails on that definition. Even more a pocket computer with attached modem, like Freerunner
<wpwrak>
well, i don't exactly like OE. but with jlime, we had a pretty much hassle-free variant of OE for the ben. not only by technical merits but by having the proper division between development and distribution we never had at openmoko.
<wpwrak>
also with openwrt, we have that. only that openwrt is a weaker basis, so the work of the distribution maintainers is harder.
<DocScrutinizer05>
I'm more a fan of the downsizing approach, rather than nuking everything to a bare fridge controller level and then re-adding ~90% of mainline stuff again
<wpwrak>
at OM, for most of the time, you basically had nobody who would take care of OE for you. so each developer somehow had to get involved.
emeb has quit [Quit: Leaving.]
<wpwrak>
well, that burn-to-the-ground-then-rebuild is kinda what we're doing with owrt ;-)
<wpwrak>
OE is a lot better i this regard
<DocScrutinizer05>
I'd probably not need anybody to take care of debian for me
<wpwrak>
DocScrutinizer05: are you sure ? :)
<wpwrak>
how often do you compile debian packages from source ?
<wpwrak>
when i do, it's from sources that are themselves upstream to debian
<DocScrutinizer05>
actually not that often, but I did a few years ago, for maemo
<wpwrak>
all i want from debian/ubunto are packages. and my work is not debian-specific but gets packaged by someone (in our case often xiangfu) into debian. that someone knows the rules/rituals, chain of command, etc., of debian. so "debianizing" code is more or less transparent to me.
<DocScrutinizer05>
sure. What more do I need?
<wpwrak>
same for fedora and whatever. they do their work, i do mine. i keep my makefiles clean, so they won't have too much of a headache, and i never even hear from them. and that's just as it should be :)
<wpwrak>
DocScrutinizer05: precisely. get the process right and things all of a sudden get very simple
<DocScrutinizer05>
well, porting pkgs from debian/other-mainline to an "embedded" system is a oneway thing in my book anyway
<DocScrutinizer05>
I for sure wouldn't bother to upstream maemo-specific patches
<DocScrutinizer05>
after all that's why maemo exists, and it's not just an OMAP build of devian
<DocScrutinizer05>
debian even
<DocScrutinizer05>
I've seen epic fail of mer etc, which tried to stay on main too much
<wpwrak>
i think upstreaming is good. but you don't need to be in a great hurry to do it.
<DocScrutinizer05>
oooh sensor-fw not IRQ event driven, rather polling? Don't worry we'll deal with powersaving later, for now we need something that *works* X-P
<wpwrak>
such is life :)
<wpwrak>
everybody knows battery life sucks anyway ;-)
<DocScrutinizer05>
exactly, and that will never change for mer
<DocScrutinizer05>
since for them, if it's not upstream, it doesn't exist
<DocScrutinizer05>
and, like it or not, main is not exactly built for "embedded", they every now and then took design decisions that are fine for servers or even laptops
wej has quit [Ping timeout: 264 seconds]
<wpwrak>
yes, that's the main challenge for making an embedded version of a major distro
<wpwrak>
tjat
<wpwrak>
grr
<wpwrak>
that's also why i didn't consider debian embeddable for a long time. it seems they now worked / are working on that. but i don't know the status
<wpwrak>
it's basically a question of having more flexible dependencies, and the config options that allow such flexibility
wej has joined #qi-hardware
<wpwrak>
e.g., bad: installing a package for "/bin/true" pulls in the gnome desktop because the package also contains /bin/ls and someone added a --beep option for whatever, which in turn needs some audio subsystem and the gnome desktop has the volume control utility.
<wpwrak>
good: /bin/true will come alone. and if some genius invented a --beep option for it too, then you'll be able to install without it
<DocScrutinizer05>
ack
<DocScrutinizer05>
on maemo we got friggin PITA called metapackages
<DocScrutinizer05>
actually ONe metapackage
<DocScrutinizer05>
that contains virtually all
<wpwrak>
nice ;-)
<DocScrutinizer05>
indeed >:-(
<wpwrak>
apt-get install maemo # nice and simple :)
<DocScrutinizer05>
exactly
<wpwrak>
well, it's not a bad idea if a lot of people actually want the "standard system". depends on whether such a standard system really exists
<DocScrutinizer05>
even apt-get install mp-fremantle-community-pr
<DocScrutinizer05>
*blush*
<wpwrak>
whatever that is :)
<DocScrutinizer05>
I'm fighting since 2 years against it
<DocScrutinizer05>
it's the continuation of the original metapackage from nokia, by community (incl me)
<wpwrak>
hellekin: what's special about a page full of errors ?
wej has joined #qi-hardware
<xiangfu>
wpwrak: have you receive my message?
<xiangfu>
make target/linux/{clean,compile} V=s or make target/linux/compile V=s
wej has quit [Ping timeout: 264 seconds]
jekhor has joined #qi-hardware
wej has joined #qi-hardware
<wpwrak>
yes, thanks !
<wpwrak>
seems that it doesn't quite work, though. first, i had to build "install" to get it to actually compile, and then then it failed because it had not made uImage
<wpwrak>
now running that regular build ...
<wpwrak>
now .. let's see if it still boots
<wpwrak>
yay. victory !
<wpwrak>
now, why didn't it accept my config change ...
<wpwrak>
ah no, it did. good :)
<kyak>
wpwrak: yeah, make target/linux/install V=s will actually build the uImage
wej has quit [Ping timeout: 260 seconds]
LunaVorax has joined #qi-hardware
wej has joined #qi-hardware
wej has quit [Ping timeout: 264 seconds]
wej has joined #qi-hardware
LunaVorax has quit [Ping timeout: 260 seconds]
<wpwrak>
kewl. configure silently defaults to the build host architecture in case the specified cross-toolchain isn't around. autocrap indeed.
<wpwrak>
whoopsie ! pld load "fjmem.bit" ... then it (urjtag) happily identifes the 6slx45fgg484 followed by getting OOM-killed
<wpwrak>
let's see what strace has to say about that ...
<wpwrak>
hmm. tries to allocate 11 MB. weird
<wpwrak>
bah. no ltrace on openwrt. that's cheap.
<wpwrak>
urjtag certainly likes its malloc ...
<wpwrak>
now, if we had a 2nd 8:10 card slot, i could add swap. grrr ...
<viric>
you can use slip + nbd ;)
wej has quit [Ping timeout: 260 seconds]
wej has joined #qi-hardware
<wpwrak>
aha ! it tries to allocate a "data register" for the eight times the size of the bitstream. 1484404*8 = 11875232. that explains something.
<viric>
one-bit-per-byte storage?
<wpwrak>
yeah, apparently
<wpwrak>
dr_data[8*u+0] = (bs->data[u] & 0x80) ? 1 : 0; and so on
<viric>
oh, even without redundancy. it should be ? 0xff:0
<wpwrak>
at least it doesn't malloc little buffers for "0", "1", ...
<viric>
hehe
wej has quit [Ping timeout: 264 seconds]
jekhor has joined #qi-hardware
wej has joined #qi-hardware
wej has quit [Ping timeout: 264 seconds]
wej has joined #qi-hardware
wej has quit [Ping timeout: 264 seconds]
wej has joined #qi-hardware
wej has quit [Ping timeout: 260 seconds]
unclouded has quit [Ping timeout: 260 seconds]
wej has joined #qi-hardware
dandon has joined #qi-hardware
Maroni has quit [Ping timeout: 260 seconds]
<kyak>
wpwrak: and so i came upon timer_create()...
<kyak>
this is getting ridiculous
<kyak>
setitimer is good, but it doesn't allow me to keep track of overruns
<kyak>
if my function (called from the timer handler) didn't return before the next timer period has elapsed, the next timer signal would just get lost
wej has quit [Ping timeout: 264 seconds]
<larsc>
I wouldn't recommend setitimer anyway, it's kind of legecy stuff
<kyak>
hm, ok!
<kyak>
from the other hand, timer_create() requires -lrt -lpthread -ldl :)
<kyak>
not that it really matters, but still..
wej has joined #qi-hardware
<kyak>
heh.. timer_create is described in both man 2 and man 3p
urandom__ has joined #qi-hardware
jekhor has quit [Ping timeout: 248 seconds]
hack has quit [Ping timeout: 248 seconds]
<kyak>
yeah, i'm sticking to timer_create() and timer_getoverrun(). It works just as i needed
hack has joined #qi-hardware
Jurting_pc2 has joined #qi-hardware
<whitequark>
wpwrak: Paul Wilson has some wise things to say about GC's: ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps, section 1.1
urandom__ has quit [Quit: Konversation terminated!]
hack is now known as harsh
harsh is now known as hack
hack has quit [Quit: WeeChat 0.3.9.2]
Hoolxi has joined #qi-hardware
jluis|work has quit [Ping timeout: 260 seconds]
<wpwrak>
kyak: happy ending ? :-)
<kyak>
wpwrak: i hope so. If anyone knows a better way, please don't tell me, i don't want to rewrite the same algorithm in yet another way :)
<wpwrak>
kyak: look at the bright side - you're now done comprehensive research on the topic and can post a comparison :)
<wpwrak>
hmm, didn't someone once implement in-memory page compression ? that might solve my urjtag problem ...
<wpwrak>
(the things we do - or think of doing - to accommodate bothersome user space ...)
<larsc>
wpwrak: zram
<wpwrak>
whitequark: i'm so glad my code doesn't have to worry about GC ;-) take all the headache of explicit memory management, move it somewhere else, then square it :)
<xiangfu>
the urjtag try to put the bit in byte size, then revert to byte again when write to device.(like pld load)
<whitequark>
wpwrak: you clearly never wrote much GC-managed code ;)
panda|x201 has quit [Ping timeout: 276 seconds]
<wpwrak>
whitequark: i stopped after seeing it collect its garbage ;-)
<xiangfu>
:)
<wpwrak>
xiangfu: (urjtag) yeah. i'm impressed by their efficiency ;-)
<larsc>
doesn't the kernel do gc for you? once the process exits the memory is free again ;)
<wpwrak>
xiangfu: hmm, some of the code in mini-jtag looks very familiar :) nice and compact, though. pity it's very FTDI-specific
<wpwrak>
larsc: the kernel is expected to do magic. that's why it's written by wizards with long white beards :)
hack has joined #qi-hardware
<wpwrak>
kyak: thanks ! that was what i was looking for. pity they have a static division. let's see how good it is ...
<kyak>
wpwrak: what is static division?
<wpwrak>
kyak: that you have to allocate the amount of memory that goes into that swap
<wpwrak>
or .. actually, that may just be their nominal size
<kyak>
hm, i'm confused :)
<wpwrak>
chaos and confusion, my work here is done. bwahaha :)
<larsc>
kyak: he's talking about zram
<kyak>
larsc: let me forward his thanks to you then :)
xiangfu has quit [Quit: leaving]
xiangfu has joined #qi-hardware
erikkugel has joined #qi-hardware
<wpwrak>
xiangfu: how big is wolfgang's blinking leds bitstream for the lx9 ?
<xiangfu>
wpwrak: 340704
<wpwrak>
great. 1/4.3 the size of fjmem.bit
<xiangfu>
the .bit file is fix size for each chip.
<wpwrak>
bah, not even RLE ? that's cheap
<wpwrak>
i.e., there are a lot of very compressible zeroes in there
<wpwrak>
zmem must be a bit disgusted. first, the 1-to-8 spreading by urtag, and then the actual data is mostly zeroes, too.
<wpwrak>
in any case, fjmem just informed me that it found "32 MiB" of flash :)
<wpwrak>
262 seconds for fjmem.bit. so an lx9 bitstream would take about one minute. probably less, given that it should fit into the ben without compression (zram)
<wpwrak>
frequency 6000000 -> new real frequency 46570.9, delay 0 operating without delay :)
<wpwrak>
now .. let's take pictures ...
Hoolxi has quit [Remote host closed the connection]
Jurting_pc2 has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
wolfspra1l has joined #qi-hardware
wolfspraul has quit [Ping timeout: 260 seconds]
dandon has quit [Quit: .]
wej has quit [Ping timeout: 260 seconds]
pcercuei has quit [Remote host closed the connection]