#qi-hardware IRC log for Friday, 2013-11-22

roh   02:31
ysionneauhttp://tessel.io < sounds nice18:03
ysionneauI wonder if they did anything more than compiling a javascript engine for arm18:03
ysionneauand a few low level libraries arduino like18:04
whitequarkysionneau: it's a very interesting concept, they compile javascript to lua bytecode18:10
whitequarkand lua is probably the most efficient dynamic language around18:10
whitequarkas in, I think it's actually okay to have high-level tasks written in lua on an embedded device18:11
whitequarkplus, the authors seem quite competent.18:11
whitequarkthe downside of their approach is, well, a 32MB SDRAM chip there18:12
whitequarkand lack of real-time out of the box, though I think the latter is fixable18:12
whitequarkhttp://lua-users.org/wiki/LuaInRealTimePrograms18:13
ysionneauoh, so no javascript interpretor but Lua18:13
ysionneauI would not have expected that :)18:13
ysionneauI should really give it a try one day (Lua)18:13
whitequarkI'm not sure whether this is an interpreter either18:13
whitequarkluajit is truly an amazing thing, and with 32MB of spare RAM it can fly18:14
whitequarki.e. be within 2x-5x of C for non-numeric workloads. this is just a ballpark figure, since I don't know how good is luajit's ARM port, how good is their translator, etc.18:15
ysionneauinteresting18:18
whitequarkmain drawback for this, imo, is that it's fundamentally still a toy, it's very much bound to one particular set of hardware18:19
whitequarkand it neither has the required knobs to port it, nor the set of people most likely to use this are competent enough to do the port.18:20
whitequarka really nice toy though18:22
ysionneauyes18:22
ysionneauusually you buy this because you are a web developer wanting to give a try to hardware toys18:22
whitequarkexactly18:22
ysionneauyou only know web languages and then you're happy with the JS api18:22
ysionneaubut you cannot port it to another board18:22
ysionneaubut maybe a company can make a product out of it18:23
ysionneauwith a small team of low level guys18:23
ysionneauand a big team of high level js-style guys18:23
whitequarkI really like how the problem is solved from a technical standpoint, but I don't like the problem itself at all18:23
ysionneaulike android is doing18:23
whitequarkbecause it's a wrong one18:23
whitequarkwell18:23
whitequarkandroid can exist like that because http://cdn.cultofmac.com/wp-content/uploads/2012/02/beforeandafteriphone.jpg18:24
whitequarkall hardware it runs on is incredibly similar18:24
ysionneauwell, phones before had a screen, a gsm radio, wifi could be optional, bluetooth also etc18:25
whitequarkI mean, it differs mainly by {display,camera,sensor} resolution. they don't even have different sets of sensors anymore.18:25
ysionneauandroid api could "work" on old phones as well18:25
whitequarkor sets of radios18:25
whitequarksure, but it's still very homogenous18:26
ysionneauwell yes, I don't think you can hook up an Infra-red communication port for instance18:26
ysionneauor an ultrasonic detector18:27
ysionneauwell, you can, but not within android own's api18:27
ysionneauyou need to extend it (JNI, libhardware etc)18:27
ysionneaumaybe the API is too "narrow" for now18:28
ysionneaumaybe it will get more generic one day18:28
ysionneaubut it's difficult when you want to have a big app store compatible with a lot of phones18:28
ysionneauyou wanna have a very clear API, not some vague indication of an "I/O" device that one can inherit from and do it's ultrasonic interface etc18:29
ysionneauhum :(18:29
ysionneauI guess that's a tradeoff18:29
whitequarkI'm not sure how app store model works for embedded device18:29
whitequarkthey'd need a complete opposite of that18:29
ysionneauworks for phone for the reason you mentioned18:29
whitequarkexactly18:29
wpwrak(before/after) before, phones were colorful and small. now they're big and try to be threatening. 18:30
ysionneaumaybe it could somehow work, less perfectly maybe than with today's phone, with a more semantic approach for the api18:30
whitequarkysionneau: I don't think so18:30
ysionneauinstead of for instance drawing a TextEdit field in Java in the android app18:30
ysionneauyou could say AskTheUserForAString()18:31
whitequarkyou can afford using your hw less efficiently for PC and phones because there's so much of them and because of that they're cheap18:31
ysionneauand it could be implemented several ways depending on the hardware 18:31
ysionneauif there is voice recognition, keyboard/screen, bluetooth RFCOM18:31
ysionneauetc18:31
whitequarkso you transfer some cost from developers to hardware18:31
whitequarkand it works, because a lot of well-paid people develop for a very narrow range of cheap hardware18:32
whitequarkbut if you're doing something custom, there's pretty much the opposite18:32
ysionneauhum hum18:32
whitequarka single team develops a specialized application where every cent multiplicates in big production runs18:32
ysionneauyep , indeed18:33
whitequarkso it makes sense to use your underlying platform for all it's worth (and maybe slightly more :)18:33
ysionneaufunny to think about that18:33
ysionneausince I used to work on an embedded product (so I understand the using the hw at 120% and every cent is multiplicated for production) ... running android :)18:33
ysionneauwe ended up creating our own little application store18:34
ysionneaunot the google play store18:34
whitequarkI'm not sure if most stuff running android can be considered embedded anymore18:34
whitequarkaccording to dynamics I just described18:34
ysionneauhéhé18:34
whitequarkit's closer to PC18:34
ysionneauindeed18:34
ysionneaulike all of today's phone18:34
whitequarkyup18:34
ysionneauit was OMAP3 based product18:35
ysionneau512 MB ram ... 1 GB nand flash18:35
ysionneau"big stuf"18:35
DocScrutinizer05ysionneau: don't get me started18:42
ysionneauwith?18:42
DocScrutinizer05512MB-RAM/1GB-NAND18:43
ysionneauomap? :p18:43
whitequarkDocScrutinizer05: do start :)18:43
ysionneauthat's your hw for the neo900 right?18:43
DocScrutinizer05I'm about to go nuts with trying to source a 1GB RAM PoP18:43
ysionneauoh18:43
ysionneaupop18:43
ysionneauCan you do high bandwidth with pop? not too much interference?18:44
DocScrutinizer05hmm?18:44
ysionneaupackage on package?18:44
DocScrutinizer05yep18:44
ysionneauif you put a cpu, then flash on top, then DDR on top18:44
ysionneauyou get hell lot of high frequency signals very next one to another18:45
DocScrutinizer05mt46h256m32l4jv-518:45
ysionneauwith length matching etc which are important, AND impedance18:45
DocScrutinizer05there's no 3-floors PoP sandwich18:45
ysionneaureally?18:45
ysionneauI thoug18:45
ysionneautought*18:45
ysionneauthought*18:45
DocScrutinizer05that would be so nice if we could stack NAND and RAM in separate PoP packages on top of OMAP318:46
wpwrakDocScrutinizer05: given up on non-pop ?18:46
DocScrutinizer05wpwrak: last resort18:46
DocScrutinizer05CUS kills one UART and one McBSP and a few GPIO for us18:47
ysionneauone uart is not working on CUS package?18:47
wpwrak(last resort) ah, still stuck in idealism. that was Hegel, right ? :)18:47
DocScrutinizer05CPB with only RAM on PoP stoll kills a few bottom-balls for attaching NAND18:47
DocScrutinizer05still*18:48
DocScrutinizer05CBP?18:48
DocScrutinizer05mt46h256m32l4jv "contact factory!" "MOQ: 1000"18:49
DocScrutinizer05>:-(18:49
ysionneauaaaaaah pinout and pin multiplexing of big chips18:51
ysionneaualways a problem18:51
ysionneauthey support dozens of hw interfaces, have hundreds of balls18:52
ysionneaubut in the end you can only us half the features18:52
ysionneauuse*18:52
DocScrutinizer05exactly18:52
DocScrutinizer05and we need 1GByte of RAM, and don't want to lose the functions we have so far, with the 512MB-RAM/1GB-NAND PoP-168 solution18:53
DocScrutinizer05and that damn critter mt46h256m32l4jv-5 is almost impossible to source it seems18:54
DocScrutinizer05the solution in N9 (1GB RAM + NAND) is totally "non-existent"18:54
DocScrutinizer05(Nokia N9 is using a OMAP3630 with 1GB RAM and NAND)18:55
wpwrakhttp://en.wikipedia.org/wiki/K%C3%BCbler-Ross_model18:55
DocScrutinizer05meh18:56
Action: ysionneau has been using 3630 CUS with 512 GB RAM (dual chips) and 1 GB NAND18:56
wpwrakit seems that you're in phase 3 now. two more and you'll be happy with a non-PoP solution :)18:56
ysionneauit seems very dangerous to start a new product using omap318:56
ysionneauit's getting really old18:56
ysionneauand TI hotline sucks18:56
DocScrutinizer05this is no "new2 project18:57
ysionneauBUT at least loooooooots of silicon bugs have been discovered18:57
ysionneauyou have them all nicely listed in the silicon errata18:57
ysionneaucompared to brand new chips18:57
wpwraki think all the legacy software they still have to substitute will leave them no other choice18:57
DocScrutinizer05yep18:57
wpwrak(errata) at least they'll always have a good excuse :)18:58
ysionneauI prefer a chip with lots of silicon errata but listed18:58
ysionneauthan a chip with few and unlisted :p18:58
DocScrutinizer05like omap418:58
DocScrutinizer05which has SiErr I know of that are *really* nasty18:58
wpwrakyeah. or one with many, you find and report them, others confirm them too, but the manufacturer denies their existence. (hi, samsung !)18:58
DocScrutinizer05and are not listed anywhere18:58
DocScrutinizer05wpwrak: Hi TI OMAP418:59
ysionneauTI does not care about omap anymore19:00
ysionneauand omap3 is damn old19:00
wpwrakmaybe they have a cross-border engineer exchange program :)19:00
ysionneauit's like EOL'd in their mind19:00
DocScrutinizer05when PVR busy and CPU suspended, a wake IRQ from e.g. HSI interface may go unnoticed by the IRQ-controller19:00
wpwrakEOL = you with the customers would die19:00
wpwraks/with/wish/19:01
wpwrakDocScrutinizer05: bah, suspending a CPU is always asking for trouble. have you learned nothing at OM ? (-:C19:01
DocScrutinizer05since HSI protocol is implemented on hw level and you hardly can change that, you're in a real pinch when suddenly your HSI locks up19:02
DocScrutinizer05wpwrak: on OMAP suspending one IP is not the same as suspending the system19:02
ysionneauDocScrutinizer05: ahah very nice bug :)19:03
DocScrutinizer05sth nobody in openmoko ever wrapped their head around19:03
ysionneauomap is a giant monster19:03
ysionneauI'm really amazed at how much logic we can put in modern chips19:04
ysionneaubig caches... bit multi core cpus ... co-processors, tons of controllers19:04
ysionneaubig*19:04
DocScrutinizer05even GTA04 SHR and other OS implemetations still use that insane suspend-to-ram approach19:04
ysionneaubig GPUs19:04
DocScrutinizer05google SmartRefelx19:05
DocScrutinizer05SmartReflex even19:05
ysionneauand omap36xx is "only" 45 nm tech19:05
ysionneaucrazy19:05
DocScrutinizer05yes19:05
DocScrutinizer05compared to 65nm in 343019:05
ysionneauyep19:05
DocScrutinizer05thus it's faster and less energy hungry19:05
whitequarkDocScrutinizer05: suspend-to-ram?19:23
whitequarkdo you mean it shuts down every single part of the kernel instead of just stopping cpu clock?19:23
larscwpwrak: the don't exist for _you_19:24
DocScrutinizer05whitequark: that's what I think it (SHR, even QtMoko?) does, yes19:37
DocScrutinizer05while maemo (kernel) is optimized for doing zero clock. And that's what makes the differnece19:39
DocScrutinizer05on S3C2442 we had no such thing like proper zero-clock AFAIK19:39
DocScrutinizer05and all "openmoko" distros thus are still using the insane suspend-to-ram approach19:40
DocScrutinizer05while on maemo it's not even 100% supported19:41
DocScrutinizer05of corse, since: what for would maemo need that?19:41
DocScrutinizer05course*19:42
larscmodern kernels use somethink called runtime PM, which is more or less a distributed suspend to ram. The components are shutdown whenever they are not needed and their state (if necessary) is saved to RAM19:47
larscsomething19:48
DocScrutinizer05:nod:20:08
DocScrutinizer05PM kernel20:08
DocScrutinizer05omap PM extensions20:08
DocScrutinizer05everything done right, GTA04 shouldn't need any special care taken about power management, nor should it need any suspend-to-ram20:11
DocScrutinizer05on 3.12 PM kernel20:11
DocScrutinizer05AIUI20:11
DocScrutinizer05maemo Linux 2.6.28-omap1 #1 PREEMPT kernel already had all that, aiui20:12
larscfor certain definitions of "all" ;)20:13
DocScrutinizer05yeah, no friggin DT20:13
DocScrutinizer05which made things a LOT easier20:13
DocScrutinizer05but also disqualified the kernel to go upstream20:14
whitequarkDT?20:14
DocScrutinizer05device tree20:14
larscDT makes so many things so much easier (If done right)20:14
DocScrutinizer05the new acpi20:14
larscthe old acpi20:15
DocScrutinizer05the problem is: DT is not done right ;-)20:15
whitequarkhow would you do it right?20:15
larscDocScrutinizer05: you have no idea what you are talking about ;)20:16
DocScrutinizer05probably in sourcecode in the end. there's no way to describe reality comprehensively in any simple grammar like used in DT20:16
DocScrutinizer05larsc: that's correct20:16
DocScrutinizer05how would you describe in DT that USB should wake up from USB-suspend-mode when GPIO_174 gets a signal?20:18
larscwakup-gpio = <&gpio 174>;20:19
larsc;)20:19
DocScrutinizer05how would you describe the 2 seconds pull-to-low needed on GPIO_160 to make modem power up?20:19
larsc(Yes, I know what the problem with USB and devicetree is)20:19
larscpower-up-dealy = <2>;20:19
DocScrutinizer05uhuh, and now your modem driver for USB attached modem knows about pulling down GPIO_160 for two seconds to power up the modem?20:21
larscsure, if you wrote your modem driver that way20:21
DocScrutinizer05dang, that must be a pretty universal driver20:21
larscwell it can be very specific to your device20:21
DocScrutinizer05or wait, why do I need DT then?20:21
larscto describe the topology20:22
DocScrutinizer05LOL20:22
larscthe same modem might be used on a different board20:22
larscor a similar modem20:22
DocScrutinizer05yeah, with completely different glue stuff#20:22
larscif the glue is complex enough it will need its own driver20:23
DocScrutinizer05LOL20:23
larscbut that's nothing new20:23
DocScrutinizer05how about a structured netlist of the hardware ;-P20:23
DocScrutinizer05and a driver for every transistor20:23
DocScrutinizer05THAT would make a working comprehensive implementation of a DT20:24
DocScrutinizer05wait, isn't that pspice?20:24
DocScrutinizer05DT is fine for standard function blocks like e.g. I2C, it never will be comprehensive though, to handle all the special hacks of your particular hw platform20:27
larscyea20:28
DocScrutinizer05IOW you'll always nee a driver like PHS8modem_in_Neo900.ko20:29
DocScrutinizer05need*20:29
DocScrutinizer05several of those, on any arbitrary platform20:30
rohDocScrutinizer05: well.. maybe that should make you think about how one abuses interfaces20:30
DocScrutinizer05prolly not20:30
larscDocScrutinizer05: so?20:30
rohif its not abused (usb+gpio is NOT just usb anymore) dt is fine and enough.20:30
DocScrutinizer05I'm an EE and I won't adapt my circuits to a hyped coding style on any particular sw-engineering community20:31
rohoften its simply used to distinguish dozends of very similar boards with simply different pcb routing and thus led, button and sometimes port ordering or used switch chips, phys, memory... (thus timing), flash etc20:31
rohDocScrutinizer05: do proper EE interfaces and youre in the clear. if you do hacks like usb+gpio you WILL need custom gluecode. which you can configure by dt again20:32
larscDocScrutinizer05: I'm a SW and HDL guy and I write my HDL cores so they work fine with the existing software ecosystem20:32
DocScrutinizer05my hardware is designed to excel when driven by a tailored-to-fit software20:32
larscyou should also design your cicuits so they work fine with the existing software ecosystem20:33
rohand now we know why EE hw may be nice but you never get proper maintained sw for it ;)20:33
DocScrutinizer05larsc: please take that to MIPI20:33
DocScrutinizer05and to TI20:33
larscmy HDL cores?20:33
DocScrutinizer05and to USB-board20:33
larsc;)20:34
DocScrutinizer05your request20:34
larscsooner or later even they will realize that this is a competitve advantage20:34
DocScrutinizer05sooner or later YOU will notice that reality isn't based on sourcecode20:35
larscit's based on money20:36
DocScrutinizer05there's areality (aka hardware and physics) and you (sw-engineer) have to deal with it20:36
larscbuilding hardware that works is one way to generate money20:36
larscI build 'hardware' and usually it works better at a fraction of the resource than other hardware with similar features20:37
DocScrutinizer05you kernel guys tried once (at least once) before to make reality adapt to your software defined ideal. It failed epically20:37
larscand I'm able to do that because I know what the software needs and what not20:38
DocScrutinizer05ORLY20:38
DocScrutinizer05and I throw dice to develop my hardware?20:38
larscI have no idea20:38
larscmaybe20:38
DocScrutinizer05yeah, evidently20:38
larscif you don't know the requirements you can try as much as you want it will be more or less chance if your design meets the requirements or not20:39
DocScrutinizer05"maybe" is probably based on you throwing dice to determine the code you write? by deduction20:40
DocScrutinizer05and please stop teaching 101 here20:40
DocScrutinizer05your last post is outright silly20:41
larscwhy?20:42
DocScrutinizer05why? maybe because nobody here needs to get educated about basic logics20:43
larscgood20:43
DocScrutinizer05when you don't know about X you can't act according to X20:43
DocScrutinizer05KTNX20:43
DocScrutinizer05ooh, you heard about it? 1+1=2 (usually)20:43
larscsometimes20:44
DocScrutinizer05meh, I got better things to do that to feed the troll20:44
DocScrutinizer05cya20:44
whitequarkhuh20:47
larscI'm just saying the days where you can first build hardware, then write the software for it are over20:48
larscthe integration process has to start much earlier20:48
whitequarkwas this ever true? I recall EWD describing how it gave his team a significant advantage20:49
whitequarkin like 60s20:49
wpwrakfirst you do the recalls, then you sell, then you fix the bugs, then the hw bugs, the you write the sw, at the very end you make the hw :)20:49
wpwraks/fix the bugs/fix the sw bugs/20:50
wpwrakif you're really good, you never fix the bugs, you just add new ones fast enough that nobody notices :)20:51
larscwpwrak: well it's truer than ever - or how does the saying go20:51
larscwolfspraul: 20:51
larscargh20:52
larscwhitequark: 20:52
larscstill too many w20:52
larscwhitequark: do you have a link20:52
larsc?20:52
larscfound this when google dijkstra and competitive advantage: "The alternative also practised is to consider competence an unfair advantage." :)20:54
whitequarklarsc: http://www.cs.utexas.edu/users/EWD/transcriptions/EWD11xx/EWD1166.html20:57
whitequarkI think20:57
whitequarkthere may be more relevant results20:57
whitequarkalso, you could measure snarkiness in nanodijkstras either :)20:58
whitequarkthis would too: http://www.cs.utexas.edu/users/EWD/transcriptions/EWD01xx/EWD196.html20:58
larscthanks20:59
whitequarkI feel there's a better one but can't find it21:00
DocScrutinizer05[2013-11-22 22:28:07] * NishanthMenon thinks they made grass legal too soon.. DT became ABI as a result :P23:23
DocScrutinizer05[2013-11-22 20:43:26] <NishanthMenon> mag for dm3730 - the following are needed for 1GHz support in kernel: a) dt clock nodes, b) generic voltage layer for cpufreq, c) abb nodes, d) avs 1.5 support (which includes avs migration to dts), e) putting everything together ;)23:28
DocScrutinizer05[2013-11-22 20:43:45] <NishanthMenon> mag, pre-dt we just needed class1.5 ;) - with dt, we are 4 levels set back23:28
DocScrutinizer05so I guess unlike me this guy(?) knows what he's talking about23:28
wpwrakat least he seems to know his acronyms ;-)23:42
wpwrakDocScrutinizer05: btw, what are you using for BT ?23:44
DocScrutinizer05still vapor23:44
DocScrutinizer05[2013-11-22 20:54:27] <NishanthMenon> DocScrutinizer05, i used to be part of N900 kernel team ;)23:45
DocScrutinizer05[2013-11-22 20:54:41] <NishanthMenon> you should see quiet a few patches from me already in the original kernel ;)23:46
wpwrakgot any list of candidates ?23:47
DocScrutinizer05err, check feasibility study23:47
DocScrutinizer05I think it's coming with WLAN23:47
DocScrutinizer05we're not there yet23:48
DocScrutinizer05we're going to use a mudule for WLAN, and many of those come with BT naturally merged in23:48
DocScrutinizer05module*23:49
DocScrutinizer05they coexist nicely this way ;-)23:49
wpwrakok, that makes sense.23:49
--- Sat Nov 23 201300:00

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