#milkymist IRC log for Friday, 2011-04-29

kristianpaullibs libs libs ..00:36
kristianpaulxiangfu: hi01:59
xiangfukristianpaul: hi01:59
kristianpaulare you aware of MMIO fuctions in rtems milkymist port?02:06
kristianpauli wonder if it posible call those from ie flickernoise, and void the implementation of a driver..02:06
kristianpaulthe core i'm working on works similary as usb/minimac, i mean in fact is just a 4k memory to be read, no more02:07
kristianpaulcontrol and other register to watch are implemented using the CSR bus02:08
kristianpaulso what you think is the recomended way for reading this "buffer"?..02:08
kristianpauli sie i had similar implementation, and i just did mmap, but thats not posigle and nor nencesary in non mmu02:11
kristianpaulor i just do as Yan pointed me, and treat this address as a register..02:11
xiangfukristianpaul: hmm.. sorry. I have no idea on read 'buffer' without writing a driver02:18
xiangfukristianpaul: I don't understand how you read 4k memory with 'register'?02:18
kristianpauli guess i can treat it as a pointer02:19
kristianpaulbut i'm not sure either, so i wanted a second opnion :p02:19
kristianpaulanyway i'll try out..02:19
kristianpaulxiangfu: okay, but do you know how implement what i pointed writting a driver?02:21
kristianpaulthat will be like having a memory maped file?..02:22
kristianpaulwich dint sound bad, just a bit confusing  for me ...02:22
xiangfukristianpaul: there are stream data from that 'core', right?02:24
kristianpauldata is originanally in a serialized way02:24
kristianpauli shiift it and make a 4Bytes int, wich goes to a circular buffer02:25
kristianpaulthe buffer have a counter, i will read that using CSR02:25
kristianpaulso the buffer is just a circular/ring one02:26
kristianpauli just need to read in buckets of 4k02:26
kristianpaulthen able "bucket" to fill again and so on..02:26
kristianpaulwell i could make things simplers and just read the shifted register.. (4bytes) that will be polling actually02:27
kristianpaulbut i prefer at least have a buffer, and not DMA at the moement...02:27
kristianpaulso yes the idea is to "dump" the 4k buffer up to fill a SD memory or a file on flash, whatever--02:28
kristianpaullater for go fancy maybe try OSC :D02:28
xiangfukristianpaul: if write a driver. the '4k buffer' is inside the driver. then you can read that device by using 'dd'02:38
xiangfukristianpaul: I am try to search how to implement the circle buffer.  the data will not stop coming, right?02:39
xiangfulike /dev/video?02:39
kristianpaulyeah exactly02:39
kristianpaulbut you dont need implement circular buffer, i already implementd in hw02:39
kristianpaulhmm, maybe i can take a similar aprouch like in video... wich basically uses a ADC as well..02:40
kristianpaullast time i checked video did DMA isnt?..02:40
xiangfudon't know that. now it's using ADC02:44
xiangfuthen if the 4k buffer is full, you can generate a interrupt, just like the /dev/video driver.02:46
kristianpaulyeah thats easy02:46
awhas anyone let AIN5(blue RCA) and AIN4(red RCA) video loop accessed PAL format in successfully?06:00
lekernelaw: i'm not sure it can be done... does the adv7181 datasheet say it's possible?07:44
awi think they can be switched by internal MUX in decoder, second...07:46
awSince if this can be done, then rc3 the test program can include this function then I can test AIN5 & AIN6. :-)07:47
awlekernel, use SETADC_sw_man_en, Manual Input Muxing Enable,07:51
awAddress C4[7] ??? is it possible?07:51
awlekernel, p14 for Table 8 and figure 6, should be okay. :-)07:55
lekernelaw: maybe xiangfu can try this?09:17
awlekernel, okay. I'll provide him the bit mapping to see if works. :-)09:20
guyzmothe workshop went correctly09:35
lekernel'correctly'... well, at least is wasn't a complete failure :-)09:37
lekernelfun? interested people? things to learn?09:37
guyzmowell, the LUA workshop began "originally", with the guy that implemented it on Awesome explaining that language sucks10:15
guyzmoand why it sucks10:15
guyzmobefore even explaining its features10:15
lekernelok... quite a way to start a workshop :-)10:16
lekernelwhy does it suck btw? from my (limited) experience with it, it didn't look so bad10:17
lekernelare there slides/recordings somewhere?10:17
guyzmonope, there was no slides10:17
guyzmoand nobody recorded10:17
guyzmowell, mainly because it provides a too big abstraction on its bindings... for example to write one byte in the dmxout file I had to do a f:write(string.char(255))10:18
guyzmoto have the correct data type...10:20
guyzmoit provides almost no correct stdlib10:20
guyzmoit works mainly on the builtin types and it seems not really extensible, and it provides a base structure to do everything that is a mix of an array and a dictionary10:23
guyzmowhich is the foundation of any object representation if you want one10:23
guyzmobut at least that language is strongly and dynamically typed10:24
guyzmobut there are a few things I really disliked10:26
guyzmowhen you access a non existent value in an array, it returns 'nil' instead of failing loudly10:26
guyzmothe environment is embedded in a global array called __G_ (or something close to that), so when you access a non existent variable, it does not fail, it returns nil10:27
guyzmoif you do not declare your variable as local, it will be global (even inside a block)10:28
guyzmoand there is no threading support in lua, instead they implemented coroutines : http://www.lua.org/pil/9.html10:29
guyzmowhich basically is thread scheduling DIY and GTFO10:29
guyzmoso, my opinion is that when you need a language that is light but poorly featured, for an environment where you'll anyway have to create bindings for almost everything and for what you won't rely on multithreading, lua is for you otherwise find something else10:31
guyzmoso, once we've got at the end of the subject, I opened a lua shell on the milkymist, showed a few functions I wrote for DMX controlling, explained what it does and ask for ideas10:32
guyzmoso I've called random on every channel of the projector in a for loop, with a 1 second delay between each iteration10:33
guyzmoand finally, I've seen the light technician of la gaîté lyrique and showed him what the milkymist is and how it works, and we'll try to find a date to use the milkymist to control all the projectors of the theatre :)10:35
guyzmoah, another thing that sucks about lua : that language has a very closed development model, it is led by a team in an university that only plublishes a tarball from time to time and rarelly accepts patches from the community. So we end up having numerous forks of lua...10:37
CIA-48mtk: Sebastien Bourdeauducq master * r247f11f / lib/edit.c : Edit: fix mouse selection bug with line numbers - http://bit.ly/jpsYTB15:27
CIA-48milkymist: Sebastien Bourdeauducq master * r3c1d14a / software/bios/main.c : BIOS: enable video output on user triggered netboot - http://bit.ly/iwCXZe15:38
CIA-48rtems-milkymist: Sebastien Bourdeauducq master * r98e54d7 / c/src/lib/libbsp/lm32/shared/milkymist_usbinput/usbinput.c : cleanup tabs - http://bit.ly/lKQ6VM17:00
CIA-48rtems-milkymist: Sebastien Bourdeauducq master * r7521b7f / c/src/lib/libbsp/lm32/shared/milkymist_usbinput/usbinput.c : usbinput: remove useless variable - http://bit.ly/mQFM1W17:00
CIA-48flickernoise: Sebastien Bourdeauducq master * rbc21daa / src/main.c : Enable buttons driver - http://bit.ly/jRJk4k17:00
CIA-48rtems-milkymist: Sebastien Bourdeauducq master * rcdcfa54 / (5 files in 4 dirs): Buttons driver - http://bit.ly/iUwCTm17:01
lekernelrtems should be ready for upstream merge17:03
lekernelno more major changes imo17:04
lekernelmaybe still sort out that printf vs. printk thing17:04
kristianpaulhum.. what is better got a boot splash screen then wait some seconds for flickernoise, or just power on and wait like ~30 seonds for flickernoise !! hell what happended...22:40
kristianpaulis my image..22:40
--- Sat Apr 30 201100:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!