#qi-hardware IRC log for Thursday, 2014-08-28

nicksydneywpwrak: http://hackaday.io/project/2879-ESP8266-WiFi-Module-Library05:29
wpwraknicksydney: does not seem to intend to go below that AT command layer. for proper networking, you need to go far below that.07:11
nicksydneywpwrak: you lost me there 07:11
wpwrakas i understand it, the critter implements TCP/IP for you and you operate at the level of TCP connections (or similar), correct ?07:12
nicksydneyyeah...the stack is pre-programmed in the chip and you can't change it ...so you just communicate with it via SPI or UART07:13
wpwrakthis means that the whole stack is frozen in the firmware. there are LOTS of functions in the stack that systems like linux implement on the host. and these are functions that change all the time, due to enhancements, bug fixes, evolving standards.07:13
nicksydneyright....so i guess with that price probably you will get something very simple as long as you can connect to internet i suppose....will not have the capability of linux based stack07:15
wpwrakironically, the technical capabilities must be there. underneath the firmware that implements that AT command set. so if you crack that layer, you'd have something even cheaper, but at the same time uncrippled07:16
nicksydneycorrect me if i'm wrong so looking at how it is able to sell the chip so cheap...does this mean that we can just take a Cortex-M0 (for example) and run the wifi stack (if available) on it ? 07:18
nicksydneyif that's true does this also means that the signal processing 2.4ghz (?) is processed by the stack too ?07:19
wpwrakyou could run some stack on a lowly ARM if you knew how to talk to the MAC / PHY layer in the chip07:21
wpwrakand no, signal processing is done in hardware. you can't bit-bang 2.4 GHz ;-)07:21
larscwell you rarely process the whole 2.4GHz anyway07:23
wpwraklarsc: now you're adding confusing details ;-)07:23
eintopfthat's sdr, or?07:25
larsc2.4GHz is your carrier frequency, the signal itself has a much lower bandwidth07:29
nicksydneywpwrak: "MAC / PHY layer in the chip" ... can you explain in human way please :)07:32
nicksydneyso let's start from signal coming in...does that being processed by the chip itself or some other different chip ?07:33
nicksydneyoh BTW olimex is releasing a board with this chip http://olimex.wordpress.com/2014/08/28/new-uart-to-wifi-chipset-will-unleash-low-cost-internet-of-things/ :)07:33
nicksydneyall aboard on WiFi please :)07:33
eintopfit's simple if you have more mac functionality in the chip you don't can't access the phy layer. What you get is only the mac layer. If this is correct :/07:37
eintopffor example I have some 802.15.4 chips with hardware address filters -> hardware address is normally mac functionality but it will decrease the work of the mcu... because the chip filters if the frame is yours or not07:38
eintopfI mean the filter of hardware addresses is normally mac functionality...07:39
eintopfbut it depends hardware filters are great, but sometimes FULL MAC handling sucks07:39
nicksydneyeintopf: MAC address you referring is this http://en.wikipedia.org/wiki/MAC_address right ?07:40
eintopffor example you ethernet card has also a mac address filter 07:42
eintopfif it don't have a filter you will get all packets on the phy layer and linux decide if this frame belongs to you or something others07:43
eintopfthis will increase the counts of interrupts and workload, etc...07:43
eintopfit's normally mac functionality to check the address but sometimes this is done in your phy.07:44
larscon the other hand doing things in the MAC might prevent you from doing things you want to do because the MAC doesn't allow you to07:44
eintopfNow this makes sense to do this on the chip as MAC functionality, but full mac functionality is ugly.07:44
nicksydneyi see...interesting... understand better now 07:44
eintopfcool :-) I explain something07:45
eintopfon my bad english07:45
eintopfqi-bot: thanks07:45
nicksydneyso normally proper 'WiFi' chip  have the MAC/PHY layer in the chip firmware ...are there any other layer that are included in the WiFi chip itself ?07:46
eintopfnicksydney: full mac is "doing all mac stuff on the phy and abstract a protocol"07:46
eintopfnicksydney: depends :-)07:47
eintopfmaybe somebody has the idea to abstract a protocol for IP07:47
eintopfand yes these exists -> example contiki07:47
eintopfcontiki is some IoT sensor operting system, you can send via tun/tap and slip IPv6 packets to it. Then contiki translate it to 802.15.4/6LoWPAN07:48
nicksydneyeintopf: http://en.wikipedia.org/wiki/Contiki ?07:49
eintopfmore or less...07:49
eintopfnicksydney: yes07:49
eintopfbut what I describe is to run contiki with linux07:49
eintopfwhat I mean is this: http://contiki.sourceforge.net/docs/2.6/a01693.html07:50
eintopf"The SLIP protocol is a very simple way to transmit IP packets over a serial line."07:50
eintopfthen you have also IP/MAC/PHY layer on the chip07:51
eintopf"doing all mac stuff on the phy and abstract a protocol" -> meant s/phy/rf chip/07:52
nicksydneyso basically the 'WiFi Chip' will do all the heavyweight of making the packet available to OS in the format that the OS networking stack understand it ?07:53
eintopfyou mean contiki now?07:54
eintopfIf the wifi chip do more layers then you can't access these layers easily from your OS, that's what larsc said07:55
eintopfand this sucks :)07:55
eintopfand maybe you need some adaptation layer to adapt this in the OS layer07:55
eintopfbecause if the chip to some MAC stuff, it's not standard and they doing they own stuff there (you are lucky if you find any documentation about that)07:56
eintopfabout the question "how they abstract the mac layer"07:57
eintopfbut mac functionality like address filters are okay on the rf chip ;)07:57
eintopfthat doesn't suck07:58
eintopfokay if you can't disable them, then it sucks07:58
eintopfbut normally you can disable them (promisocus mode, or something else)07:59
nicksydneyinteresting thanks for that08:00
eintopfyou are welcome, I hope it's correct what I said08:00
DocScrutinizer05((<eintopf> if it don't have a filter you will get all packets on the phy layer and linux decide if this frame belongs to you or something others)) which is then called promiscuous or monitor mode. E.G. wireshark using this, as well as tools like airodump etc do10:02
DocScrutinizer05((<eintopf> If the wifi chip do more layers then you can't access these layers easily from your OS,  <eintopf> and this sucks))  depends. For embedded battery-powered it's essential, since otherwise your heavy main CPU is running all the time, doing low-level MAC stuff. Worst is when your WiFi doesn't even do address filtering, since then the CPU basically needs to handle all "noise" and nonsense that comes in over the air, to see 10:07
DocScrutinizer05if it's relevant or not10:07
DocScrutinizer05the trick is to provide API for those lower level function in your WiFi interface to machine, so machine can decide to e.g. do address filtering on main CPU (= promiscuousmonitor mode) or let WiFi FULLMAC do that on its power economic small CPU. Same even for raw mode which e.g. gets used to do AP on N900's 1253 WiFi. Raw mode is the most low level interface to WiFi radio, basically bypassing *all* on-chip protocol layers. The radio 10:11
DocScrutinizer05shall send whatever raw bit data you send to it (also receive, obviously)10:11
DocScrutinizer05on 1253/12xx you need some hack done by a gifted linux hacker to access raw mode in the chip10:16
DocScrutinizer05since 1253 usually runs in FULLMAC mode, and the raw mode API isn't usually exposed/available10:17
DocScrutinizer05on a completely unrelated sidenote: whitepaper abour InfraRed subsystem in Neo900 -> http://talk.maemo.org/showthread.php?p=1437131#post143713110:46
DocScrutinizer05daily hacking (non-EE): we all know how to catch a fly by *slowly* moving a glass over it so it doesn't trigger the insect's optical threshold for changes in vicinity. What's supposedly new however is to use a glas from freezer, so the fly, once caught in the glass, gets stiff and lifeless during just 15 seconds ;-P11:00
DocScrutinizer05very convenient since the most tricky two parts of the "catch the fly" operation are a) put a lid on the glass without letting fly escape and b) move the fly outside or kill it without it escaping and returning to your room during that11:03
DocScrutinizer05a frozen fly won't escape and as well won't return into your room when you throw it out the window11:03
DocScrutinizer51wpwrak: (scope midi) http://maemo.cloud-7.de/share-service/20140828_001.jpg ;-D13:40
wpwrakDocScrutinizer51: for convenient fly elimination, i have this: http://content.oppictures.com/Master_Images/Master_Variants/Variant_500/147907.JPG14:02
wpwrakDocScrutinizer51: though flies rarely bother me. seems that they're too lazy to fly so high. mosquitos, on the other hand .. 14:02
DocScrutinizer51eliminating flies that sit on your monitor takes special care14:03
wpwrak(midi) yeah. but i don't really see it as a convenience improvement. your visual feedback would be on the pc while the signal is on the scope. and you have that control box sitting somewhere in the middle -> messy14:04
DocScrutinizer51yeah, ordinarey flies fly l.ow14:04
DocScrutinizer51(scope)@8md either place all three items next to each oother, or at least move that HID I linked above to where I'm currently working. Optical feedback freom PC is not the idea14:06
wpwrakhmm, then you're limited to basically moving the scope's controls to new buttons. you normally can't upload images (for UI feedback) to a scope.14:08
wpwrakso i don't think what you're thinking of would really work. but of course, it'll be interesting to see what you come up with ;-)14:08
DocScrutinizer05moving/replicating that unbearable thousand-turns knob to a proper scratchrecord turntable and same time accelerate it properly, like a mouse, would be the easiest exercise14:15
DocScrutinizer05much better solution than powertool with clutch to spin the scope's knob a 654893 times - from 0 to 80000th frame14:16
DocScrutinizer05even numeric input, though admittedly without written / optical feedback to check if you did a typo, would be possible. Then let a macro spin the thousandturns exactly to the value you entered via keypad14:18
DocScrutinizer05I have a *lot* of ideas how to improve the UI, and I have a pretty good idea of what's feasible and what's not14:18
DocScrutinizer05store complete parameter banks, and recall them later14:19
DocScrutinizer05needs pretty little feedback beyond maybe the STO06 button shortly flashing to signal it's done14:19
wpwrakthat 1000 turns knob's function changes with context. and the scope won't tell you in which mode the UI is. so you'd have to move the whole control to the midi device. and then you lose all intermediate feedback elements.14:21
DocScrutinizer51and I'm only starting... ;)14:21
wpwrakso you're getting a siglent with 1000 turns knob now ? :)14:22
DocScrutinizer51well, when the API is crap then obviously you cannot tell scope "turn button C right 488 clicks"14:23
DocScrutinizer51no way I get me a siglent14:24
DocScrutinizer51tbh since those scopes all have a USB host jack, I'd even expect them to genuinely support kbd, mouse etc 14:25
wpwrak(API) "press that button for me" functions are not commonly part of the host interface. they can exist but i wouldn't count on it. e.g., rigol don't have them: http://www.tequipment.net/assets/1/26/Documents/Rigol/DS2072/ds2072_doc_5.pdf14:28
wpwrakand no, they don't normally do anything sensible with keyboard and mouse. that would be overly sane ;-)14:29
wpwrakso these fancy "arbitrary measurement expressions" in the rigol mean entering your formulas by turning and pushing knobs ...14:29
DocScrutinizer51FSCKIT such fools14:30
DocScrutinizer51that's why I asked so insistingly about the API14:31
wpwrakwell, what you could do with these expressions is to write a tool on the PC that lets you send them via SCPI. that's certainly an improvement. not quite what you had in mind, though.14:31
DocScrutinizer05can it query *all* UI status and settings?14:32
wpwrakUI ? no14:32
wpwrakthe actual measurement system, maybe14:33
DocScrutinizer05that stuff is insane14:33
wpwraki mean you have the "core", samples, triggers, pass/fail, etc. and then on top you have a UI to set it up and to read out data. and you have an API to do the same14:33
DocScrutinizer05I already see me REing the (*cough*) "OS" of that critter14:33
wpwrakbut the API isn't layered on top of the UI.14:34
wpwrakyou should have a look at that rigol "programming manual" (link above). that's give you an idea of what to expect14:34
DocScrutinizer05I prolly only need a PEEK and POKE ;-P14:34
DocScrutinizer05right, the link. On proper PC I can have a look14:35
wpwrakwhat it does essentially allow you to do is take full control of the scope and make it do its things. but it won't help much with plugging holes in the UI. maybe you can get this to work for some operations, but i'd expect it to be messy. also because you'd be switching the scope in and out of remote mode all the some.14:36
wpwraki'm actually not even sure if you can remotely command the rigol to exit remote mode or whether you have to press a button for that. 14:40
DocScrutinizer05wtf *is* "remote mode"?14:42
wpwrakthe DS1000C* series had commands to simulate keypresses. but that doesn't seem to be available in the DS2000. dunno about DS1000Z14:42
DocScrutinizer05do you say this thing doesn't accept remote commands until switched into a special mode? in which it maybe doesn't accept UI commands anymore (except the one command "leave remote mode")?14:43
wpwrakwhen you send an SCPI command, the scope disables the UI, to prevent the user from interfering with the remote control14:43
wpwrakyou have to explicitly re-enable the UI after remote operation is complete14:43
wpwrakmaybe now you understand my doubts about your MIDI plan :)14:44
DocScrutinizer05that's so terribly braindamaged I'd like to buy one device just to smash it into the devels' head14:44
DocScrutinizer05when otoh you can terminate or commit a remote sequence via a special remote command then it makes sense14:45
DocScrutinizer05what's that?:14:46
DocScrutinizer05:SYSTem:SETup <setup_data>14:46
DocScrutinizer05Send the file data ofRead the file data ofthethesystemsystemsetup.14:46
DocScrutinizer05dacapo for pdf14:47
DocScrutinizer05http://www.tequipment.net/assets/1/26/Documents/Rigol/DS2072/ds2072_doc_5.pdf 42614:47
wpwrakkinda cryptic, eh ? :)14:47
wpwrakthe DS1000Z can unlock the UI remotely. :SYST:LOCK 014:49
DocScrutinizer05it's not that cryptic in the pdf, just the c&p failed to keep rows separate14:50
wpwraki think the older 1000 had that, too. alas, i can't test since the communications board is fried in mine :(14:50
DocScrutinizer05but what's "system setup" and might it offer some way to mess with this thing? I mean, it seems a raw blob of data14:51
wpwrak(cryptic) i mean that it doesn't tell you what that command really does.14:51
wpwrakyeah, exactly :)14:51
DocScrutinizer05to me that sounds like a memdump of the complete config/parameter area14:51
DocScrutinizer05so -> my PEEK and POKE?14:52
wpwrak"these are our global variables. enjoy ! oh, and by the way, they'll be elsewhere and change their meaning in the next minor firmware revision." :)14:52
DocScrutinizer05yeah, that's pretty much expected14:52
DocScrutinizer05anyway, a diff will give away meaning of most bytes, no?14:53
DocScrutinizer05dump systemconfig, toggle some option, dump again, diff14:53
wpwrakit's at least something you can try to play with. dunno how far it goes.14:53
wpwrakmaybe ask on eevblog if anyone has already tried to make sense of this14:54
DocScrutinizer05stuff like :SYStem:BEEPer doesn't make me smile. I'd expect a subcommand to make the thing *emit* a beep, not only to enable or disable the beeper14:54
wpwrakjust send n invalid command and it'll beep angrily ;-)14:55
DocScrutinizer05seems you can query every parameter that's listed in the API14:56
wpwrakyup, all parameters should be queriable14:56
DocScrutinizer05:TIMebase:DELay:OFFSet <offset>14:57
DocScrutinizer05so yeah, mixed mode interaction, like "select left cursor on scope button press" -> "move cursor position on midi turntable" might not be possible at all14:58
DocScrutinizer05but for sure something like "change parameter most recently changed, via turntable" should be completely feasible14:59
wpwrakpheew ...15:00
DocScrutinizer05and generally the idea is to *not* have several submenus on the luxury midi tablet, but assign a dedicated button to the 20 most needed parameters you wanna change15:01
wpwrakyes, if you have a knob for every single parameter of the scope, then you can do that. but i'm not sure it's quite feasible.15:02
DocScrutinizer05so instead of selecting "cursor"->"left"->"position" form a 3-level-menu-hierarchy on scope, and then use the turntable to adjust the cursor pos, I rather have a pushbutton "adjust left cursor pos" on midi tab and then it's clear what turntable does after that button got pressed and is lit15:04
DocScrutinizer05the idea is exactly NOT to have a button "for every possible function" but a convenient way to adjust a dozen or two parameters that I select to my liking 15:05
DocScrutinizer05the exotic rarely used functions are fine on scope UI15:06
DocScrutinizer05anyway, I guess it's kinda useful15:12
DocScrutinizer05and the most interesting question would be: will Rigol fix bugs when you run into some?15:12
DocScrutinizer05and how long does that take?15:13
ysionneauwin 1715:16
hozeranyone heard about the ESP wifi module for $5 yet15:46
hozerit's got a Tensilica Xtensa architecture core in it15:46
ysionneauI think this got linked here 15:49
wpwrakfunny. this morning, TI MCU spam. around noon. freescale community spam. now spansion design spam. i wonder if these companies realize how totally useless their "newsletters" are20:53
--- Fri Aug 29 201400:00

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