2013-09-15 01:25 dos1 has quit [Ping timeout: 256 seconds] 2013-09-15 04:26 xiangfu has joined #qi-hardware 2013-09-15 04:43 Luke-Jr has quit [Ping timeout: 245 seconds] 2013-09-15 04:46 Luke-Jr has joined #qi-hardware 2013-09-15 05:40 viric has quit [Ping timeout: 240 seconds] 2013-09-15 05:44 viric has joined #qi-hardware 2013-09-15 07:14 FDCX_ has joined #qi-hardware 2013-09-15 07:36 jekhor has joined #qi-hardware 2013-09-15 07:50 FDCX has quit [Remote host closed the connection] 2013-09-15 07:53 FDCX has joined #qi-hardware 2013-09-15 07:55 wolfspraul has joined #qi-hardware 2013-09-15 08:07 FDCX has quit [Remote host closed the connection] 2013-09-15 08:10 FDCX has joined #qi-hardware 2013-09-15 08:45 lekernel has joined #qi-hardware 2013-09-15 08:47 kilae has joined #qi-hardware 2013-09-15 09:00 pcercuei has joined #qi-hardware 2013-09-15 09:14 wpwrak: we have that CapTouch family of devices, even with Linux drivers 2013-09-15 09:29 mh this zswap thing may be nice in the nanonote. 2013-09-15 09:34 it was nice on the Dingoo with LZO 2013-09-15 09:34 didn't we already had it long time ago? 2013-09-15 09:34 it may even be nicer with Snappy or LZ4 2013-09-15 09:35 larsc: maybe. I've seen it in 3.11 2013-09-15 09:35 there was that zram thing, before 2013-09-15 09:36 it's all the same 2013-09-15 09:37 auhm is it? 2013-09-15 09:37 I thought zram made a block device compressed in ram 2013-09-15 09:40 http://stackoverflow.com/questions/18437205/difference-between-zram-and-zswap 2013-09-15 09:42 so for zswap you need some kind of physical swap space 2013-09-15 09:42 for zram you don't 2013-09-15 09:42 so yea, me saying 'it's all the same' was wrong 2013-09-15 09:43 but zswap + ramfs = zram 2013-09-15 09:43 well not exactly 2013-09-15 09:43 but kind of 2013-09-15 09:45 :) 2013-09-15 09:45 right, that's how I saw it 2013-09-15 09:57 FDCX_ has quit [Ping timeout: 264 seconds] 2013-09-15 10:40 jekhor has quit [Quit: Leaving] 2013-09-15 10:43 wolfspraul has quit [Ping timeout: 260 seconds] 2013-09-15 10:44 wolfspraul has joined #qi-hardware 2013-09-15 10:59 larsc: hmm, if going cap, i would hope to do it with the resources already in the mcu. all you really need is an ADC. 2013-09-15 11:02 and some magic 2013-09-15 11:02 the main problems i found are material thickness, sensor size, and robustness against voltage swings and maybe other components in the system distorting the capacitance 2013-09-15 11:02 e.e.g, diodes :) 2013-09-15 11:03 viric: zsawp is what made my ubb-jtag work :) urtag is very memory-hungry with xilinx 2013-09-15 11:04 or was is zram ? checking ... 2013-09-15 11:05 zram 2013-09-15 11:05 I sense a great disturbance in the capacitance 2013-09-15 11:06 yeah, ZRAM. though it is swap ... 2013-09-15 11:08 y u no fix ur jtag 2013-09-15 11:08 with zram the compression happens in the block device code, with zswap the compression happens in the swap code 2013-09-15 11:09 the end result is very similar though 2013-09-15 11:09 if you are going form ram based swap 2013-09-15 11:10 whitequark: a fix may get a little deep. and it really was just a weekend hack. 2013-09-15 11:10 viric has quit [Remote host closed the connection] 2013-09-15 11:11 wpwrak: it was just word play on the name :) 2013-09-15 11:13 viric has joined #qi-hardware 2013-09-15 11:14 by the way... https://gist.github.com/whitequark/182569b68f3910248c31 and http://imgur.com/PNMhVPJ 2013-09-15 11:15 oh and the resulting assembly: https://gist.github.com/whitequark/b122443b9c83c7ad10f3 2013-09-15 11:15 so my compiler works, and does it quite well :) 2013-09-15 11:16 which stm32 ? 2013-09-15 11:16 very cool! I've always wanted to design & build a compiler too :) 2013-09-15 11:16 wpwrak: it's maple leaf... stm32f103cb 2013-09-15 11:16 whitequark: how long did it took you? 2013-09-15 11:17 cde: it depends on how you measure it 2013-09-15 11:17 the original idea was born two years ago; I knew absolutely nothing about compilers back then 2013-09-15 11:17 so it took a lot of research 2013-09-15 11:18 the latest, hopefully production-quality, iteration of the software itself, written in ocaml, took me about two months of full-time work to write 2013-09-15 11:18 I've tweaked some language features and fixed my type inferencer in that time, too, but mainly it was just a rewrite of Ruby prototype code in ocaml 2013-09-15 11:19 do you plan on self-hosting-ness at some point? then you could have a self-hosting OS 2013-09-15 11:19 cde: not really, ocaml is OK 2013-09-15 11:19 besides, it uses LLVM as its low-level optimizer and code generator 2013-09-15 11:20 oh 2013-09-15 11:20 the compiler, which includes an interpreter and type checker/inferencer itself, is 8400LOC 2013-09-15 11:20 tiny 2013-09-15 11:21 so you feed llvm the ast and it spoouts asm? 2013-09-15 11:21 no, I have my own SSA IR 2013-09-15 11:22 ah cool. I guess this is where you enforces the types and so on? 2013-09-15 11:22 yes 2013-09-15 11:22 do you do boundary checking or is it like C? 2013-09-15 11:23 it's safe by default: the language doesn't prohibit direct memory access (it's not java), but all the simple actions, say iterating over an array, are safe 2013-09-15 11:24 in case of iteration, you don't even need bounds checking most of the time 2013-09-15 11:24 yes true 2013-09-15 11:24 if you have closures, yeah 2013-09-15 11:24 foo[idx] would do checking; foo.unsafe_get(idx) won't. 2013-09-15 11:25 very cool! btw why the choice of OCaml over say Haskell? 2013-09-15 11:26 ocaml is practical 2013-09-15 11:26 haskell... uh... well if you listen to haskell programmers, sure :) 2013-09-15 11:27 yeah ocaml is great for parsing 2013-09-15 11:27 *nod* 2013-09-15 11:27 ocaml also has very simple (and I mean C-level simple) runtime representation and native compiler 2013-09-15 11:28 so you made a safe language that can be used for system programming, is very lightweight and easy to use 2013-09-15 11:28 yes 2013-09-15 11:28 it kinda sounds too good to be true ;) 2013-09-15 11:28 I had to invent a bag of tricks. :) 2013-09-15 11:32 for example there isn't really a meaningful separate compilation mode 2013-09-15 11:32 you mean debug/release? 2013-09-15 11:32 no, think of how you can compile several .o files with clang and then link them 2013-09-15 11:33 ah you mean you compile everything at once 2013-09-15 11:33 it works fine if you have C-like (not C++-like, though) type system 2013-09-15 11:33 it also works fine if you have complete signatures on module (think .o file) boundaries 2013-09-15 11:34 so no type abstractions I guess? 2013-09-15 11:34 FDCX_ has joined #qi-hardware 2013-09-15 11:34 hmm 2013-09-15 11:34 elaborate? 2013-09-15 11:34 well, headers defining abstract types that are then implemented 2013-09-15 11:35 ah. yes. I have value types 2013-09-15 11:35 this means that the code using those value types must at least know their size 2013-09-15 11:35 things get much more interesting when you throw automatic memory management into the mix: now code may need to know contents as well 2013-09-15 11:36 hmm. you could have an opaque type system with a kind of identifier + size 2013-09-15 11:36 and a module for resolving identifiers to actual code, sort of like a vtable 2013-09-15 11:36 I'm not sure it would be very efficient though 2013-09-15 11:36 that's unacceptable if it means runtime overhead 2013-09-15 11:37 right now, all calls in foundry are fully static (no indirection) unless explicitly declared as dynamic 2013-09-15 11:37 the result is very strong IPO 2013-09-15 11:37 and I need to keep that 2013-09-15 11:37 yeah my proposal was more like rtti 2013-09-15 11:37 it's not really needed for systems programming 2013-09-15 11:37 well it's dumb to have dynamic dispatch over everything 2013-09-15 11:38 too slow. 2013-09-15 11:38 I think it has some use cases though. consider Qt's slots, it's very flexible and allows connecting objects at runtime 2013-09-15 11:38 true that Qt does not recommend using it for everything, because of the overhead 2013-09-15 11:39 sure, but you can easily do that within my type system. method(:foo) -> returns a closure with the corresponding signature 2013-09-15 11:40 oh, you have closures. nice :) 2013-09-15 11:40 dos1 has joined #qi-hardware 2013-09-15 11:40 they're also rather efficient 2013-09-15 11:40 the runtime representation is like struct { e* env; void(*)(e*, ...); } 2013-09-15 11:40 so, two words 2013-09-15 11:41 and liveness of the environment is verified with region inference 2013-09-15 11:41 in fact, with the representation being so simple, LLVM has zero problems inlining such closures, so for example all iterators just naturally get inlined and are as efficient as C loops 2013-09-15 11:41 I didn't even have to do anything :) 2013-09-15 11:45 it all sounds really cool! you should write a book on your experience creating a language and interfacing with llvm. a lot of people would be interested 2013-09-15 11:46 eh, just grab reference manuals for ocaml and llvm, and dragon book and appel's compiler implementation in ml 2013-09-15 11:46 that's about it :) 2013-09-15 11:46 oh. ok :) 2013-09-15 11:55 in short: RTFM 2013-09-15 11:55 ;) 2013-09-15 11:56 RTFL ;-) L for Library 2013-09-15 12:01 wpwrak: I see you don't like parenthesis of any sort 2013-09-15 12:02 s/wpwrak/whitequark/ 2013-09-15 12:02 larsc meant: "whitequark: I see you don't like parenthesis of any sort" 2013-09-15 12:08 pcercuei has quit [Read error: Connection reset by peer] 2013-09-15 12:09 pcercuei has joined #qi-hardware 2013-09-15 12:13 larsc: hm? 2013-09-15 12:13 not sure what you mean 2013-09-15 12:14 LCD.setup\n 2013-09-15 12:15 ah, good old syntax holy war :) 2013-09-15 12:16 since I don't have field accesses (e.g. "backlight=" is a method), it doesn't make sense to require parentheses here 2013-09-15 12:17 perhaps you're interested in the implementation of that LCD class: https://gist.github.com/whitequark/40447e26eb3be8132ab1 2013-09-15 12:18 and the GPIO register block: https://gist.github.com/whitequark/17cad7fec8dbcb632014 2013-09-15 12:19 and the metaprogramming which defines register field accessors: https://gist.github.com/whitequark/e2b75c8f125097f1a851 2013-09-15 12:20 larsc: would apply to me, too :) ((a == 1) || (b == 2)) makes me angry 2013-09-15 12:31 xiangfu has quit [Ping timeout: 264 seconds] 2013-09-15 12:33 xiangfu has joined #qi-hardware 2013-09-15 12:44 13:14 < whitequark> by the way... https://gist.github.com/whitequark/182569b68f3910248c31 and http://imgur.com/PNMhVPJ kilae 2013-09-15 12:46 oops 2013-09-15 12:55 oh? 2013-09-15 13:12 rz2k has joined #qi-hardware 2013-09-15 13:19 xiangfu has quit [Remote host closed the connection] 2013-09-15 13:23 xiangfu has joined #qi-hardware 2013-09-15 13:31 jekhor has joined #qi-hardware 2013-09-15 14:00 qwebirc61921 has joined #qi-hardware 2013-09-15 14:00 qwebirc61921 is now known as rjeffries 2013-09-15 14:01 wpwrak said yesterday: or the jog wheel, i have two options: a 22 mm wheel with rotation and a center button. or a 32 mm wheel with rotation, center button, and four "cursor keys" 2013-09-15 14:02 IMO the 2nd option would be more useable. the extra size is worth having cursor keys. ymmv 2013-09-15 14:14 jekhor has quit [Ping timeout: 264 seconds] 2013-09-15 14:21 FDCX_ has quit [Remote host closed the connection] 2013-09-15 14:24 FDCX_ has joined #qi-hardware 2013-09-15 14:31 dunno. first, the size increase is substantial: more than +1/3. and it also gets a little thicker. second, with so many functions crammed into a single device one may trigger other movements than the one intended. 2013-09-15 14:31 Today is Sunday, in USA. Quiet. 2013-09-15 14:32 but i've ordered a few of the big wheels, too, so i can experiment :) 2013-09-15 14:32 cool 2013-09-15 14:32 which display did you choose, remind me pls 2013-09-15 14:34 i'll first evaluate this one: http://www.buy-display.com/default/oled-graphic-display.html 2013-09-15 14:34 no choice has been made yet :) i first have to see it 2013-09-15 14:39 oled ones are quite expensive and degrade, no? 2013-09-15 14:44 whitequark: about 170% the price of an LCD the same size. dunno if they all degrade or only some. in any case, that one should at least not suffer aging due to excessive use :) 2013-09-15 14:44 i have LCDs as plan B: http://www.buy-display.com/default/128x64-st7565p-lcd-module.html 2013-09-15 14:44 oh, they got cheaper since I last looked 2013-09-15 14:44 (which is to be expected) 2013-09-15 14:45 big disadvantage of most LCDs is that they always draw maximum power for the backlight 2013-09-15 14:45 transflective lcds? 2013-09-15 14:47 i.e. what about transflective lcds? they can be used without backlight. 2013-09-15 14:49 unsure about sourcing. also, they usually have poor contrast. 2013-09-15 14:52 yeah, true 2013-09-15 14:52 talking about degrading 2013-09-15 14:52 I had a phone with an OLED display 2013-09-15 14:52 degrading *is* noticeable (especially if it heats up, which it *of course* does), but unless you look at photos, it doesn't make a difference 2013-09-15 14:52 no idea how much different your display will be 2013-09-15 14:54 we'll see :) i should get it this week 2013-09-15 14:57 (high) contrast is your friend in this use case. and this display will almost always be OFF so wear is unimportant IMO 2013-09-15 14:59 >Interface 6800 8-bit Parallel , 8080 8-bit Parallel , I2C, 3-Wire Serial SPI, 4-Wire Serial SPI 2013-09-15 14:59 do *all* displays have the same set of interfaces? 2013-09-15 15:00 I recently had an, uh, pleasure to write a few drivers and they look almost exactly alike. 2013-09-15 15:00 there aren't that many display controller vendors 2013-09-15 15:00 yeah, that's pretty much identical for all displays 2013-09-15 15:01 6800 and 8080 look kinda suckish. i'll just go with 4-wire SPI 2013-09-15 15:01 it's fine if you don't need fast updates. 2013-09-15 15:01 annoyingly, they don't bring out the frame sync signal, so there will be tearing 2013-09-15 15:01 though, this one is b&w... could work regardless 2013-09-15 15:06 wpwrak for the safe to work in conjunction with a mobile phone or tablet, that device must support (???) USB OTG that allows external keyboard? 2013-09-15 15:10 xiangfu has quit [Remote host closed the connection] 2013-09-15 15:13 yes. well, for now via an external box. so you don't see it if you don't use it. (it's just a micro-AB receptacle instead of micro-B) 2013-09-15 15:29 lekernel has quit [Read error: Connection reset by peer] 2013-09-15 15:42 I need to investigate (I am ignorant) how widely the popular mobile phones implement OTG, It's not a universal, I'm pretty sure. will look into this point. 2013-09-15 15:43 i'm thinking of just implementing A/B detection. not the fancy negotiation protocol 2013-09-15 15:44 lekernel has joined #qi-hardware 2013-09-15 15:47 hmm, pcb gets mightly crowded 2013-09-15 15:49 you do not need complications at this stage. KISS rules. having said that... 2013-09-15 15:50 a future possibly derivative product targeted squarely at mobile devices woudl have appeal. USB in that case may not be preferred connection between safe and mobile 2013-09-15 15:52 blue sky... NFC or Bluetooth Low Energy might be attractive to users, but may also be way outside teh scope of what you wish to attempt. that's fair. 2013-09-15 15:53 uh, nfc is easily hijacked from afar 2013-09-15 15:55 BT would be nice. is there a chip/module that's flexible enough, can be sourced, and has publicly-accessible documentation ? 2013-09-15 15:55 is that true when power levels are REALLY low? physics is on our side. LOL but my point (for 2014 maybe) is MOBILE is the majority computing device now, period. one eventually want to solve password issue for tablets and smartphones 2013-09-15 15:57 wpwrak those are great questions, while you focus on USB (wisely) others including me can poke at BLE devices. Your requirment on open documentation may or may not be met, I dunno 2013-09-15 15:58 that requirement is pretty crucial ... :) 2013-09-15 15:58 I get it 2013-09-15 15:58 wpwrak: define "documentation" 2013-09-15 15:59 pretty much all BT modules I've seen had docs in public 2013-09-15 16:13 and did they implement more than just UART ? :) 2013-09-15 16:14 whitequark: that's useful to know! re BT technical documentation. BT chip cost must also be VERY (!) low these days. although high volume stuff is prolly buried in an SoC that also does e.g. wi-fi and more 2013-09-15 16:14 wpwrak: on bt you usually have the choice between hci via usb or serial and 'stack in the module' via serial where you use AT-commands to configure the stack and only get a 'serial via bt' link 2013-09-15 16:15 some can also do audio feats on the module, but thats not the point for your app. 2013-09-15 16:15 USB .. the idea low-power interface :) 2013-09-15 16:16 wpwrak: usb is often choosen not because of simplicity or power needs, but because there is nothing which has real serialports on it around 2013-09-15 16:17 also serialports never had a power-line and some negot. for that with it... and 'multi-link bundling'. 2013-09-15 16:18 if there'd be a serial conn, which is smaller than sub-d9, widely used (doesnt exist) and has power, people whould use that. 2013-09-15 16:18 Luke-Jr has quit [Excess Flood] 2013-09-15 16:18 ah.. and also serial usually maxes out at 1-2 mbit.... usb doesnt. thats why its often used in addition to serials too. from 3g on, serial is too slow, also for audio out of a bt module (when decompressed there) 2013-09-15 16:18 Luke-Jr has joined #qi-hardware 2013-09-15 16:19 also protocols 2013-09-15 16:19 everyone invents their own on serial 2013-09-15 16:26 jekhor has joined #qi-hardware 2013-09-15 16:31 FDCX_ has quit [Remote host closed the connection] 2013-09-15 16:47 jekhor has quit [Ping timeout: 264 seconds] 2013-09-15 16:47 jekhor has joined #qi-hardware 2013-09-15 16:48 whitequark: yes. and sometimes no. i mean.. some hdlc usually should be ok 2013-09-15 16:48 thats how the people i know do it ;) 2013-09-15 17:12 whitequark: can you suggest some BT modules that might be candidates? 2013-09-15 17:25 pcercuei has quit [Ping timeout: 278 seconds] 2013-09-15 17:31 pcercuei has joined #qi-hardware 2013-09-15 17:36 Luke-Jr has quit [Excess Flood] 2013-09-15 17:38 luke-jr_ has joined #qi-hardware 2013-09-15 17:51 luke-jr_ is now known as Luke-Jr 2013-09-15 18:25 rjeffries has quit [Ping timeout: 250 seconds] 2013-09-15 18:47 [commit] Werner Almesberger: modules/qfn.fpd: add QFN48-Freescale for KL25 chips (draft) (master) http://qi-hw.com/p/kicad-libs/e8e6813 2013-09-15 18:47 [commit] Werner Almesberger: components/: add Freescale Kinetis KL25 in 48 pin package (master) http://qi-hw.com/p/kicad-libs/38cb8de 2013-09-15 18:48 [commit] Werner Almesberger: add EastRising OLED FPC-30 connector (symbol and footprint) (master) http://qi-hw.com/p/kicad-libs/2c26373 2013-09-15 18:48 [commit] Werner Almesberger: components/memcard8.lib: add MEMCARD8-SHIELD3-SW1 for Amphenol 10100660 (master) http://qi-hw.com/p/kicad-libs/4a9b06e 2013-09-15 18:48 [commit] Werner Almesberger: modules/memcard8-amp-10100660.fpd: Amphenol 10100660 footprint (draft) (master) http://qi-hw.com/p/kicad-libs/81c2a48 2013-09-15 18:48 [commit] Werner Almesberger: flip er-oled-fpc30.fpd; add new footprints to Makefile; fix comp ref in kl25-48.lib (master) http://qi-hw.com/p/kicad-libs/2aa3233 2013-09-15 18:53 pcercuei_ has joined #qi-hardware 2013-09-15 18:56 pcercuei has quit [Ping timeout: 264 seconds] 2013-09-15 18:57 FDCX_ has joined #qi-hardware 2013-09-15 19:07 pcercuei_ is now known as pcercuei 2013-09-15 19:19 [commit] Werner Almesberger: add C&K TSWA series switch with 22 mm wheel (master) http://qi-hw.com/p/kicad-libs/3f1b978 2013-09-15 19:19 [commit] Werner Almesberger: HIERARCHY: change QFN32-Freescale to QFN48-Freescale (master) http://qi-hw.com/p/kicad-libs/a6aca6e 2013-09-15 19:34 porchao has quit [Quit: Leaving...] 2013-09-15 19:34 jekhor has quit [Ping timeout: 264 seconds] 2013-09-15 19:58 huh http://www.caravan.net/ec2plus/ 2013-09-15 20:18 removes templates, inheritance, and all that nonsense ? 2013-09-15 20:26 yeay, party like it is 1999 2013-09-15 20:32 yeah 2013-09-15 20:32 what is the point of using C++ if you don't have any of that?.. 2013-09-15 20:35 heberth has joined #qi-hardware 2013-09-15 20:42 From their Q&A 'Why is X removed? X it is too new to be used widely.' 2013-09-15 20:43 but given that the page was last updated 2002 I think it is safe to assume that the project is dead 2013-09-15 20:43 wolfspraul has quit [Quit: leaving] 2013-09-15 20:44 that is a strange rationale nevertheless 2013-09-15 20:44 if we've followed this logic, we'd still be writing assembly :) 2013-09-15 21:07 rz2k has quit [] 2013-09-15 21:40 viric has quit [Ping timeout: 240 seconds] 2013-09-15 21:46 viric has joined #qi-hardware 2013-09-15 21:51 kilae has quit [Quit: ChatZilla 0.9.90.1 [Firefox 23.0.1/20130814063812]] 2013-09-15 22:01 viric has quit [Ping timeout: 240 seconds] 2013-09-15 22:02 arossdotme has joined #qi-hardware 2013-09-15 22:03 viric has joined #qi-hardware 2013-09-15 22:08 zear_ has joined #qi-hardware 2013-09-15 22:10 zear has quit [Ping timeout: 240 seconds] 2013-09-15 22:11 zear_ has quit [Read error: Connection reset by peer] 2013-09-15 22:17 zear has joined #qi-hardware 2013-09-15 22:25 arossdotme has quit [Ping timeout: 245 seconds] 2013-09-15 22:30 lekernel has quit [Quit: Leaving] 2013-09-15 22:30 arossdotme has joined #qi-hardware 2013-09-15 22:53 FDCX_ has quit [Ping timeout: 260 seconds]