Previous day | Jump to hour: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Next day

Seconds: Show Hide | Joins: Show Hide | View raw
Font: Serif Sans-Serif Monospace | Size: Small Medium Large

Click in the nick column to highlight everything a person has said.
The Logo icon identifies that the person is a core developer (has commit access).

Notice: Only Gecko based browsers prior to FF4 support the multipart/mixed "server push" method used by this log reader to auto-update. Since you do not appear to use such a browser, this page will simply show the current log, and not automatically update.

#rockbox log for 2015-10-02

00:29:31 Join michaelni__ [0] (
00:32:28 Quit michaelni_ (Ping timeout: 250 seconds)
00:34:53 Join Strife89 [0] (~Strife89@2602:306:bce1:8c20:213:2ff:fea7:7a25)
00:35:11***Saving seen data "./dancer.seen"
00:59:15 Quit ender` (Quit: I believe in free will, but I don't really have a choice.)
01:42:30 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:e13e:db24:d18e:9268)
01:46:12 Quit jtdesigns01 (Client Quit)
01:47:44 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:698e:8c6:95dc:8160)
01:50:40 Quit ZincAlloy (Quit: Leaving.)
01:53:20 Quit jtdesigns01 (Quit: jtdesigns01)
01:53:39 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:698e:8c6:95dc:8160)
01:58:06 Quit jtdesigns01 (Client Quit)
01:58:43 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:45e4:59ce:8d97:f9f7)
01:59:11 Quit jtdesigns01 (Client Quit)
01:59:44 Join jtdesigns01 [0] (
02:02:26 Quit jtdesigns01 (Client Quit)
02:02:49 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:60f9:9407:f603:ec4)
02:03:18 Quit jtdesigns01 (Client Quit)
02:04:53 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:4453:940d:5dca:2b05)
02:05:22 Quit jtdesigns01 (Client Quit)
02:05:53 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:4453:940d:5dca:2b05)
02:08:33 Join jtdesigns02 [0] (~Thunderbi@2601:400:8000:2669:52a:5593:c8fc:4790)
02:08:54 Quit jtdesigns02 (Client Quit)
02:10:17 Quit jtdesigns01 (Ping timeout: 240 seconds)
02:12:16 Join [Franklin] [0] (~franklin@unaffiliated/franklin)
02:12:45 Quit jtdesigns01bot (Ping timeout: 240 seconds)
02:14:53 Join jtdesigns01bot [0] (
02:25:20 Nick haasn` is now known as haasn (
02:25:57 Quit Strife89 (Ping timeout: 240 seconds)
02:28:39 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:489c:7698:2185:61d8)
02:30:40 Quit Aldem (Quit: Later)
02:35:14***Saving seen data "./dancer.seen"
02:37:40 Quit uwe_ (Read error: Connection reset by peer)
02:37:41 Join rela [0] (~x@pdpc/supporter/active/rela)
02:38:08 Join uwe_ [0] (
02:40:37 Quit foolsh (Remote host closed the connection)
02:42:21 Quit jtdesigns01 (Quit: jtdesigns01)
02:42:54 Join foolsh [0] (~quassel@2601:241:c200:4bc5:a977:1ddd:3d07:f77d)
02:43:07 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:489c:7698:2185:61d8)
02:54:27 Join KD8NXH [0] (~KD8NXH@2601:400:8000:2669:a8d7:d5d1:4266:8f8f)
02:59:47KD8NXHhi all
03:00:03 Quit KD8NXH (Quit: I am QRT.)
03:00:56[Saint]16 seconds.
03:01:03[Saint]16 bloody seconds...
03:04:48[Franklin]pamaury (logs): is there any reason not to increase the HID poll rate to 1000/sec?
03:05:00[Franklin]maybe power consumption?
03:47:06 Join munch [0] (~munch@unaffiliated/munch)
03:48:15 Quit [Franklin] (Ping timeout: 256 seconds)
03:56:46 Join Strife89 [0] (
04:01:17 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
04:03:38 Quit JdGordon_ (Ping timeout: 250 seconds)
04:05:54 Quit JdGordon (Ping timeout: 246 seconds)
04:06:16 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
04:11:22 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
04:13:49 Quit JdGordon (Ping timeout: 240 seconds)
04:35:17***Saving seen data "./dancer.seen"
05:21:02 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
05:22:16 Quit JdGordon_ (Ping timeout: 252 seconds)
05:25:17 Quit JdGordon (Ping timeout: 240 seconds)
05:26:05 Join JdGordon [0] (
05:26:05 Quit JdGordon (Changing host)
05:26:05 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
05:30:50 Quit JdGordon (Ping timeout: 256 seconds)
05:31:07 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
05:37:12 Quit jtdesigns01 (Quit: jtdesigns01)
05:41:54 Quit [7] (Disconnected by services)
05:42:09 Join TheSeven [0] (~quassel@rockbox/developer/TheSeven)
05:57:04 Quit JdGordon (Ping timeout: 240 seconds)
05:59:27 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
06:35:20***Saving seen data "./dancer.seen"
07:03:00 Quit rela (Ping timeout: 268 seconds)
07:26:36 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
07:29:36 Quit JdGordon (Ping timeout: 246 seconds)
07:31:34 Join JdGordon [0] (
07:31:34 Quit JdGordon (Changing host)
07:31:34 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
07:32:29 Quit JdGordon_ (Ping timeout: 240 seconds)
07:39:23 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
07:41:19 Quit krnlyng (Ping timeout: 265 seconds)
07:41:29 Quit JdGordon (Ping timeout: 250 seconds)
07:49:45 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
07:52:36 Quit JdGordon_ (Ping timeout: 252 seconds)
07:55:18 Quit amiconn (Remote host closed the connection)
07:55:18 Quit pixelma (Remote host closed the connection)
07:55:31 Join pixelma [0] (~pixelma@rockbox/staff/pixelma)
07:55:32 Join amiconn [0] (~amiconn@rockbox/developer/amiconn)
08:01:49 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
08:03:59 Quit JdGordon (Ping timeout: 264 seconds)
08:08:52 Join petur [0] (~petur@rockbox/developer/petur)
08:11:45 Join JdGordon [0] (
08:11:45 Quit JdGordon (Changing host)
08:11:45 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
08:14:45 Quit JdGordon_ (Ping timeout: 246 seconds)
08:16:06 Join wodz [0] (
08:20:45 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
08:23:24 Quit JdGordon (Ping timeout: 240 seconds)
08:26:50 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
08:29:41 Quit JdGordon_ (Ping timeout: 250 seconds)
08:35:22***Saving seen data "./dancer.seen"
08:35:37 Join einhirn [0] (
08:45:44 Quit Strife89 (Remote host closed the connection)
09:07:27 Join JdGordon_ [0] (~jonno@rockbox/developer/JdGordon)
09:09:33 Quit JdGordon (Ping timeout: 256 seconds)
09:24:35 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
09:25:29pamaury[Franklin] (logs): as far as I understand, you cannot increase the poll rate more than HZ (the number of ticks per sec) which is 100. So any increasing would be useless
09:25:32pamaury(I think)
09:30:06 Join ender` [0] (
10:21:33 Quit einhirn (Quit: Miranda IM! Smaller, Faster, Easier.
10:24:34 Join TheLemonMan [0] (~lemonboy@unaffiliated/thelemonman)
10:29:24 Quit pamaury (Ping timeout: 244 seconds)
10:35:23***Saving seen data "./dancer.seen"
10:46:04 Quit rasher (Ping timeout: 240 seconds)
10:50:10 Join rasher [0] (~rasher@rockbox/developer/rasher)
11:16:22 Join dan-| [0] (~d@
11:16:30 Join mikroflops_ [0] (~yogurt@
11:16:52 Join GeekShad1w [0] (
11:17:12 Join shmibs_ [0] (
11:17:46 Quit GeekShadow (Ping timeout: 250 seconds)
11:17:46 Quit dan- (Ping timeout: 250 seconds)
11:17:46 Quit mikroflops (Ping timeout: 250 seconds)
11:17:46 Quit shmibs (Ping timeout: 250 seconds)
11:17:47 Quit prof_wolfff (Ping timeout: 250 seconds)
11:17:47 Quit akaWolf (Ping timeout: 250 seconds)
11:17:51 Nick dan-| is now known as dan- (~d@
11:17:51 Join akaWolf1 [0] (~akaWolf@unaffiliated/akawolf)
11:17:52 Quit dan- (Changing host)
11:17:52 Join dan- [0] (~d@unaffiliated/danneh-/x-7505085)
11:18:01 Join prof_wolfff [0] (
11:18:02 Nick akaWolf1 is now known as akaWolf (~akaWolf@unaffiliated/akawolf)
12:03:23 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
12:09:56 Quit pamaury (Quit: No Ping reply in 180 seconds.)
12:11:04 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
12:35:26***Saving seen data "./dancer.seen"
12:37:57 Quit michaelni__ (Ping timeout: 240 seconds)
12:39:48 Join michaelni__ [0] (
12:53:10 Quit haasn (Ping timeout: 264 seconds)
13:21:57 Join krnlyng [0] (~liar@
13:31:26 Join megal0maniac [0] (~megal0man@unaffiliated/megal0maniac)
13:31:38megal0maniac"warning: ISO C does not support '__FUNCTION__' predefined identifier"
13:31:41megal0maniacShould I care?
13:31:57megal0maniacI have pages and pages of mostly that
13:34:49megal0maniacI also had the issue with "redefinition of 'floor_log2'" when compiling gcc, which was fixed by adding -fgnu89-inline to the cflags as per [Saint]'s suggestion on the 3rd of August (thanks, irc logs!)
13:36:31gevaertspages and pages?
13:36:37*gevaerts wonders how that can be possible
13:37:20gevaerts__FUNCTION__ is used in 12 places in total
13:38:35megal0maniac../../gcc-4.4.4/gcc/system.h:585:61: warning: ISO C does not support '__FUNCTION__' predefined identifier [-Wpedantic]
13:38:47megal0maniacIn file included from ../../gcc-4.4.4/gcc/gimplify.c:25:0:
13:38:53megal0maniac../../gcc-4.4.4/gcc/system.h:577:55: warning: ISO C does not support '__FUNCTION__' predefined identifier [-Wpedantic]
13:39:02*gevaerts is confused!
13:39:04megal0maniacSo a lot of the gcc sources
13:39:10megal0maniacNot just rb sources
13:39:10gevaertsAh, right
13:39:55gevaertsWell, if it builds, I wouldn't care
13:40:04megal0maniacPuTTY logs have been a saving grace more times than I care to remember
13:40:15megal0maniacYeah, +1 to that. It did, so I'm happy
13:40:30gevaertsThe problem is that very often older toolchains don't build very cleanly with newer toolchains
13:40:42megal0maniacPlus it's triggered by the -Wpedantic flag
13:40:53megal0maniacWhich gives me reason to believe it's benign
13:51:53 Join JdGordon [0] (~jonno@rockbox/developer/JdGordon)
13:54:44 Quit JdGordon_ (Ping timeout: 240 seconds)
14:03:21 Quit michaelni__ (Ping timeout: 250 seconds)
14:10:57 Join michaelni__ [0] (
14:35:29***Saving seen data "./dancer.seen"
15:09:42 Join amayer [0] (
15:22:18 Quit wodz (Quit: Leaving)
15:29:44 Join haasn [0] (~haasn@2a01:4f8:d13:5245::2)
16:13:25 Join rela [0] (~x@pdpc/supporter/active/rela)
16:35:34***Saving seen data "./dancer.seen"
17:52:17 Nick shmibs_ is now known as shmibs (
18:25:37 Quit Ivoah2 (Quit: Connection closed for inactivity)
18:35:36***Saving seen data "./dancer.seen"
18:55:33 Quit TheLemonMan (Quit: "It's now safe to turn off your computer.")
19:11:59 Quit pamaury (Ping timeout: 265 seconds)
19:16:43 Join bertrik [0] (~quassel@rockbox/developer/bertrik)
19:22:20 Join lebellium [0] (
19:37:48 Quit ChanServ (*.net *.split)
19:40:07 Join ChanServ [0] (ChanServ@services.)
19:40:07Mode"#rockbox +o ChanServ " by
20:08:21 Join Aldem [0] (~Aldem@unaffiliated/aldem)
20:25:27 Join pamaury [0] (~quassel@rockbox/developer/pamaury)
20:28:12 Join [Franklin] [0] (~franklin@unaffiliated/franklin)
20:29:39[Franklin]pamaury: so 5 ms between polls then?
20:30:46pamauryI guess so, you would need to check but clearly the button code is called from tick task, so unless the button driver uses another timer and interrupts, polling is limited by HZ, which is 100 if I'm not mistaken
20:30:48[Franklin]or 10ms
20:30:53pamauryso that's 10ms ;)
20:31:16[Franklin]pamaury: it currently asks the host for 8ms between polls though
20:31:50pamauryI think you can only specify powers of two for polling no ?
20:32:09pamaury(or will you have me open the usb spec just to check ? :-p)
20:32:29[Franklin]I think it's powers of 2
20:32:39pamauryhum maybe not
20:32:52[Franklin]pamaury: I'm working with USB HID, which is interrupt-based, no?
20:32:55pamauryit's in units of frame
20:33:37*[Franklin] fires up wireshark
20:33:40pamaurythese are completely different things: the usb hid is interrupt based but requests go through queuing so you are limited by HZ
20:34:22pamauryon the other hand, the button driver can do its only interrupt based polling and not just in the tick task
20:35:38***Saving seen data "./dancer.seen"
20:36:19pamauryyou are right, USB HID uses 8 frames which is 8ms at LS/FS and 2ms at HS
20:37:00pamaurythis is probably to fast for our queue, which might explain why our HID driver seems to break sometimes, especially at HS....
20:37:14[Franklin]what's HS/LS/FS?
20:37:29[Franklin]high speed?
20:38:28pamauryI need to check this with the USB analyzer but you might have uncovered a problem here ^^
20:38:32 Join einhirn [0] (
20:40:36 Join lebellium_ [0] (
20:42:09pamaurygevaerts: ping
20:43:14*gevaerts hazards a cautions pong
20:43:43pamaurycan you tell me if I have just uncovered a potential problem in our HID driver ? (see above)
20:43:49 Quit lebellium (Ping timeout: 265 seconds)
20:44:01 Nick lebellium_ is now known as lebellium (
20:44:14gevaertsHard to tell...
20:44:41gevaertsWhat's the potential problem? The USB code checking for packets too often?
20:44:45[Franklin]pamaury: would you care to explain this to me in layman's terms?
20:46:53gevaertsMy head is a bit muddled today (bad cold), but I don't really see what other effect there is than wasting some interrupts
20:47:53pamauryThe USB driver queues each packet on receive. Thus if the hosts actually sends a new packet every 8 frame, at High-Speed it means one packet every 2ms. Since HZ is 100, the usb stack may not process these packets before another 10ms if not more (think of several threads) which is huge compared to polling time.
20:48:19pamauryIf the host is too picky, it might ignore the reply of the driver because those arrive way too late ?
20:48:32[Franklin]so it takes too long to respond to polls from the host?
20:48:57pamauryI'm not sure, I really need to check this
20:49:12pamaurymaybe we are just wasting interrupts as gevaerts said
20:49:50gevaertsThe host doesn't actually send a packet every 8 frames (well, apart from a "if you have data, send it now!" thing that's normally handled in hardware, but it's a long time since I properly did USB)
20:50:13gevaertsSo every 8 frames, *if* you gave the hardware a packet to send back, it sends it back
20:50:39pamauryhum yeah you must be right
20:50:48gevaertsIf you didn't give it a packet, the harware will send back a control flow packet that says there's nothing right now
20:51:17gevaertsWhich is most of the time with HID
20:52:40pamauryah yeah, HID packets are only sent on events, I forgot that
20:52:48pamaurythe host is not polling
20:53:36gevaertsWell, it is, but not in a way we see at the software layer
20:54:41pamauryyes that's what I mean
20:55:18pamaury[Franklin]: why did you want to poll faster than 10ms in the first place ?
20:55:35[Franklin]pamaury: I want to be able to send keystrokes automatically
20:56:29[Franklin]and the quicker I can do that, the better
20:57:07pamauryyou can call usb_hid_send at any rate iirc, these are buffered
20:58:35[Franklin]windows doesn't seem to like that though
20:58:58 Quit bluebrother (Disconnected by services)
20:59:03 Join bluebrother^ [0] (~dom@rockbox/developer/bluebrother)
20:59:23pamaurywindows doesn't like our HID driver, many people have problems with in
20:59:33 Join fs-bluebot_ [0] (
20:59:35pamaurythere must be a bug/problem somewhere
21:00:43*[Franklin] increased the poll rate to 1000/sec
21:00:48[Franklin]and it worked just fine
21:00:55[Franklin]on windows, that is
21:01:37 Quit fs-bluebot (Ping timeout: 240 seconds)
21:02:37pamauryso there is a bug somewhere
21:03:05pamaurywhat happen if you keep it 100 ? Missing keystrokes ? no keystrokes ?
21:03:37[Franklin]weird stuff ;)
21:03:40[Franklin]I'll try to find out
21:04:58[Franklin]maybe buffer overflow?
21:07:14*[Franklin] sees that usb_hid_send calls usb_try_send_drv
21:07:52[Franklin]does that actually send the data to the host?
21:10:51pamauryit does if it is not already sending the data
21:13:02pamauryfrom the code, it seems that the HID drivers uses 5 buffers in a circular fashion
21:13:27pamauryso if you push too much data, I think it will be plain and simply drop the data
21:15:23 Quit einhirn (Ping timeout: 250 seconds)
21:15:47 Join einhirn [0] (
21:22:04 Join einhirn_ [0] (
21:25:37 Quit einhirn (Ping timeout: 240 seconds)
21:55:46 Nick michaelni__ is now known as michaelni (
22:18:48 Quit rela (Read error: Connection reset by peer)
22:19:36 Join rela [0] (~x@pdpc/supporter/active/rela)
22:20:10[Franklin]ok, ~100 keys/sec right now
22:24:31 Quit ParkerR (Remote host closed the connection)
22:27:33 Join ParkerR [0] (~ParkerR@unaffiliated/parkerr)
22:34:29 Join jtdesigns01 [0] (~Thunderbi@2601:400:8000:2669:5195:5787:f392:3c89)
22:35:39***Saving seen data "./dancer.seen"
22:36:44 Quit michaelni (Ping timeout: 240 seconds)
22:46:04[Franklin]pamaury: I was thinking that if I can queue 10 keystrokes and flush the buffer 100x/sec, then there would be maximum throughput
22:46:34[Franklin]so how do I force the HID driver to flush the queue?
22:48:53pamaury[Franklin]: a quick look at the code suggests it doesn't work this way
22:49:57pamauryit maintains a list of pending strokes (limited to 5), and sends them one at a time to the host. Since it waits for completion, it think each send/completion uses at least one tick
22:50:55pamauryso you can't send more strokes than HZ with the current design, I think
22:51:42pamauryand I don't know if you can send more than one stroke per transfer
22:52:20[Franklin]so currently the max is limited by HZ then
22:52:30[Franklin]could I rewrite this somehow?
22:56:03[Franklin]usb_hid_try_send_drv() currently calls usb_drv_send_nonblocking()
22:57:00pamauryI don't know, clearly the only way to go is to be able to pack several strokes per transfer, you can't increase the number of transfers per sec with the current design of usb drivers
22:57:06[Franklin]if it called the blocking version, could I increase the number keystrokes/second?
22:57:43pamaurypossibly but I don't know if blocking is fine for this function or not
23:02:29pamauryhum, thinking about it, it's not so clear you would get a boost with the blocking call
23:03:13[Franklin]so you said packing more stroeks for transfer would work
23:04:07pamauryI don't know if it is possible, I'm looking at the hid code and spec
23:07:34 Join Ivoah2 [0] (uid49352@gateway/web/
23:07:48 Quit petur (Remote host closed the connection)
23:08:00 Quit djukon (Quit: leaving)
23:08:41 Join djukon [0] (transitor@gateway/shell/insomnia247/x-ffkwpkllsdvuwpso)
23:16:49 Quit einhirn_ (Quit: Miranda IM! Smaller, Faster, Easier.
23:23:15pamaury[Franklin]: I need to read the hid spec again
23:25:40[Franklin]so by setting bInterval=1, the host polls once per millisecond, right?
23:26:05[Franklin]and then when the device gets the poll request, it sends all the data it's got, no?
23:26:35pamauryit doen't solve the problem, the HID driver sends one stroke at a time
23:27:15pamauryso each time the host will poll, it will get one key only
23:28:01[Franklin]but then if it polls 1000 times a second, it can get up to 1000 keys each second
23:28:09[Franklin]so what limits it to HZ?
23:28:47pamauryno because the HID driver waits for completion before setting up a new transfer, and completion goes through a thread
23:29:50[Franklin]so then an option would be to take the sending and put it into the main thread?
23:30:15pamaurythe only way to speed up things would be to have the driver signal completion directly. That's something I implemented in some patches for USB audio, but it's dangerous because it is called in interrupt context, easy to mess up ;)
23:30:56pamaurywhy do you need 1000 strokes/sec ?
23:31:02pamauryHID was not really designed for that
23:32:27[Franklin]pamaury: automatic typing
23:35:11[Franklin]like the USB Rubber Ducky:
23:35:17[Franklin]but on rockbox
23:50:39pamaury[Franklin]: the spec says one report per transfer
23:52:04 Quit bertrik (Remote host closed the connection)
23:52:50pamaury[Franklin]: so the only reasonable option is that the usb driver signals completion directly. I'll try to send you a patch in the week end
23:58:23 Quit [Franklin] (Ping timeout: 252 seconds)
23:58:48 Quit amayer (Quit: Leaving)

Previous day | Next day