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
urandom__ has quit [Quit: Konversation terminated!]
<wpwrak>
larsc: have you ever seen data glitches when DMA'ing to the MMC controller ? all is well when i use PIO, but DMA acts up every once in a while. happens under mlockall, with interrupts off, etc.
<wpwrak>
the only thing that seems to help is a strategically placed printf. sleeping at the same spot doesn't do the trick :(
<wpwrak>
larsc: (all this is on the Ben)
<larsc>
the kernel driver only uses pio
<wpwrak>
oh :) thought you'd use DMA
<wpwrak>
the funny thing is that UBB-VGA doesn't have any visible issues. of course, it could be that repetition makes the problem go away.
emeb has quit [Quit: Leaving.]
<wpwrak>
ah. maybe i've just answered my own question :) let's flush that CPU cache ....
panda|x201 has quit [Ping timeout: 252 seconds]
wolfspraul has quit [Ping timeout: 260 seconds]
<wpwrak>
1380 tests passed and counting. seems that we have a winner
<qi-bot>
[commit] Werner Almesberger: ubb-patgen/ubb-patgen.c (dma_pattern): mlockall (before address translation and DMA) (master) http://qi-hw.com/p/ben-blinkenlights/dad9739
panda|x201 has joined #qi-hardware
Hoolxi has quit [Ping timeout: 248 seconds]
wolfspraul has joined #qi-hardware
Hoolxi has joined #qi-hardware
wolfspraul has quit [Ping timeout: 264 seconds]
Hoolxi has quit [Remote host closed the connection]
wolfspraul has joined #qi-hardware
DocScrutinizer05 has quit [Disconnected by services]
DocScrutinizer05 has joined #qi-hardware
wolfspraul has quit [Ping timeout: 240 seconds]
wolfspraul has joined #qi-hardware
<wpwrak>
first failure after 6675 tests. and that was the scope mis-triggering (the signal is somewhat marginal in that setup), not the pattern generator getting things wrong
woakas has quit [Ping timeout: 264 seconds]
woakas has joined #qi-hardware
bzb has joined #qi-hardware
bzb has quit [Quit: Leaving]
jekhor has joined #qi-hardware
wolfspraul has quit [Ping timeout: 255 seconds]
LunaVorax has joined #qi-hardware
<LunaVorax>
Hi!
panda|x201 has quit [Ping timeout: 245 seconds]
jluis has joined #qi-hardware
panda|x201 has joined #qi-hardware
wolfspraul has joined #qi-hardware
jekhor has quit [Ping timeout: 252 seconds]
panda|x201 has quit [Ping timeout: 245 seconds]
bzb has joined #qi-hardware
bzb has quit [Read error: Connection reset by peer]
porchao has quit [Ping timeout: 256 seconds]
porchao has joined #qi-hardware
panda|x201 has joined #qi-hardware
rz2k has joined #qi-hardware
woakas has quit [Ping timeout: 260 seconds]
urandom__ has joined #qi-hardware
woakas has joined #qi-hardware
erikkugel has left #qi-hardware [#qi-hardware]
erikkugel has joined #qi-hardware
jluis has quit [Ping timeout: 240 seconds]
xiangfu has quit [Remote host closed the connection]
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
emeb has joined #qi-hardware
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
LunaVorax has quit [Ping timeout: 260 seconds]
pcercuei has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
pcercuei has joined #qi-hardware
pcercuei has quit [Read error: Connection reset by peer]
<wpwrak>
and then ./mktab FREQ | gnuplot -persist >ben-mmc-clk.png
<wpwrak>
no ruby, sorry :)
<wpwrak>
FREQ comes from running ubb-patgen -q on the ben (it queries some system settings to determine the available frequencies, that's why it has to run on the ben itself)
<whitequark>
I might use that sometimes, thanks
<wpwrak>
good :)
<whitequark>
(no ruby) please, don't portrait me more as a zealot than I actually am ;)
<wpwrak>
maybe you have to work on your PR ;-)
<whitequark>
well, as a guy writing an implementation of Ruby dialect I sorta should prefer it to other languages, no? :)
<wpwrak>
that would depend on how well things are going :)
<whitequark>
maybe I should just go and write a helloworld for ben now...
<whitequark>
given that I don't even need to recompile LLVM, shouldn't be that hard
<wpwrak>
that's usually a good start :)
kilae has quit [Quit: ChatZilla 0.9.89 [Firefox 18.0/20130104151925]]
<larsc>
why is it that a programming language has either sane semantics or good practicality?
<whitequark>
larsc: could you elaborate?
<larsc>
not sure ;)
<wpwrak>
would C, having both, be the exception to larsc's rule ? :)
<whitequark>
if only it actually had at least one of them ;)
<wpwrak>
it somehow doesn't surprise me that you'd say that :)
<whitequark>
well, that's because I think so?
<whitequark>
a language which does not by default have even opt-in safe string manipulation functions isn't practical by any means; and the problem with semantics is that fundamentally every datatype in C is a leaky abstraction
<larsc>
I just sometimes get the feeling that for languages with sane semantics people where focused so much on the semantics they forgot about making the language actually usable in everyday programming
<wpwrak>
whitequark: C forces the programmer to think about what they're doing a bit earlier than other languages do
<wpwrak>
whitequark: that's how C developers get more exercise in thinking ;-)
<whitequark>
wpwrak: ... about things they in 90% cases don't and shouldn't care about
<whitequark>
regardless, I'm not even referring to that
<wpwrak>
trolling is fun :)
<whitequark>
C's semantics is very poorly defined. for example, both signed and unsigned overflow is an UB, because we totally work on non-two's-complement machines
<wpwrak>
larsc: and yes, the fear of imperfection often drives them to strange omissions
<whitequark>
and there's something similarly crazy going on with floats
<larsc>
'loops are evil, you must always use recursion'
<whitequark>
and there's all the ways you cannot define a bitfield in a portable way, or even specify alognment
<wpwrak>
larsc: until, if the language catches on regardless, the pragmatists roll in and add generally particularly ugly hacks that overcome all those omissions again
<whitequark>
larsc: the part about loops is probably one of the most misunderstood concepts in FP
<whitequark>
first, to my knowledge, it was an academic language (Scheme) which first opted to omit loop syntax entirely
<whitequark>
a language which was explicitly designed for teaching students and not doing real work in
<whitequark>
CL has loops, for example
<whitequark>
second, it is quite natural in Lisp, where a rule of thumb is that you should shape your code like your data structure looks like, and data structures are generally recursive [linked lists]
<wpwrak>
which i think proves my point of the fix being uglier than the imperfection whose avoidance the fix aims to fix
<whitequark>
wpwrak: scheme has continuations, which are generalized *and* safe form of goto's
<whitequark>
this is the primitive which can be used to make exceptions and fibers, for example
<whitequark>
so you fail at trolling ;)
<wpwrak>
scheme is very very new stuff. not a good example to start explaining the evolution of functional languages
<whitequark>
(very very new) 1975?
<whitequark>
C is from 1972 ;)
<wpwrak>
LISP started in 1958 ...
<whitequark>
well, so? I demonstrated how a functional language doesn't have ugly hacks over strange omissions
<urandom__>
larsc: well there is always lua, practicality und (relative) sane semantics
<wpwrak>
maybe the makers of scheme thought that, now that lisp was about to reach the age of consent, they really ought to make something new that's pure again
<whitequark>
rofl
<whitequark>
that's all I would say
<urandom__>
well one can just use CL if there is need to get shit done ;P , never understood whats cool about scheme
<wpwrak>
(makes me wonder what languages came out around 1990, when scheme reached that age. hmm, haskell ...)
<wpwrak>
i always wondered what the "ask" was doing in that otherwise quite self-explaining name. but maybe it's self-referential and you're supposed to ask about the "ask".
<whitequark>
wpwrak: please proceed to completely miss the reason of haskell's creation
<wpwrak>
to preserve the proud tradition of INTERCAL ? :)
<whitequark>
to be able to precisely represent side effects in the type system
<whitequark>
which is a neat thing theoretically, but is a royal pain in the ass to write code in
<wpwrak>
hence my comment about "haskell" minus "ask" being rather descriptive :)
<wpwrak>
regarding "side effects in the type system" ... makes you realize how small the hamming-distance to a turing machine really is
<whitequark>
not sure what do you mean by the part about turing machine
<wpwrak>
clear to bits and you have s/type/tape/
<wpwrak>
s/to/two/
<qi-bot>
wpwrak meant: "clear two bits and you have s/type/tape/"
* whitequark
shrugs
<whitequark>
makes me wonder who of us is a zealot
<wpwrak>
"side effects in the tape system". doesn't that sound like a pretty good description of a turing machine ?
<larsc>
there are no side effects in the tape system ;)
<whitequark>
larsc: have you seen languages of the ML family?
<whitequark>
OCaml/SML
<larsc>
yes
<larsc>
actually taking a course on sml at this very moment
<whitequark>
larsc: oh interesting. could you share a link? I'm going to learn it (or OCaml maybe) too.