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 2021-07-05

00:18:55 Quit massiveH (Quit: Leaving)
00:23:31 Join massiveH [0] (
01:00:01 Quit massiveH (Quit: Leaving)
01:01:55 Quit olspookishmagus (*.net *.split)
01:02:05 Join pookie [0] (
01:03:58 Quit Topy44 (*.net *.split)
01:03:58 Quit braewoods (*.net *.split)
01:03:58 Quit ats (*.net *.split)
01:04:04 Join Topy [0] (
01:04:45 Join braewoods [0] (
01:05:16 Quit dbohdan (*.net *.split)
01:05:16 Quit scorche (*.net *.split)
01:05:16 Quit ddevault (*.net *.split)
01:05:16 Quit gsora_ (*.net *.split)
01:05:17 Quit Ckat (*.net *.split)
01:05:26 Join Ckatt [0] (~Ckat@xn--z7x.xn--6frz82g)
01:05:46 Join scorche [0] (
01:05:54***Saving seen data "./dancer.seen"
01:06:17 Quit jackie (*.net *.split)
01:06:17 Quit leachim6 (*.net *.split)
01:06:53 Join leachim6 [0] (
01:10:55 Join dbohdan [0] (~dbohdan@2a00:d880:3:1::a6e3:a64e)
01:11:25 Quit dbohdan (Changing host)
01:11:25 Join dbohdan [0] (~dbohdan@user/dbohdan)
01:11:36 Nick scorche is now known as Guest5135 (
01:13:44 Join XDjackieXD [0] (
01:13:54 Join ddevault [0] (znc@sourcehut/staff/ddevault)
01:13:56 Nick leachim6 is now known as Guest9931 (
01:14:13 Join ats [0] (
01:16:40 Join gsora [0] (~gsora@
01:51:43 Join eminguez [0] (
03:05:55***Saving seen data "./dancer.seen"
04:22:03desowinit looks like Rockbox lcd_enable() is what Sansa Connect OF calls sleep/wake while Rockbox lcd_sleep() is power off/on
04:38:31 Quit eminguez (Quit: Ping timeout (120 seconds))
05:05:58***Saving seen data "./dancer.seen"
05:23:20 Join eminguez [0] (
07:05:55 Quit braewoods (Quit: WeeChat 2.8)
07:05:55 Nick Ckatt is now known as Ckat (~Ckat@xn--z7x.xn--6frz82g)
07:05:59***Saving seen data "./dancer.seen"
07:06:20 Join braewoods [0] (~braewoods@user/braewoods)
07:08:04 Nick Ckat is now known as Ckatt (~Ckat@xn--z7x.xn--6frz82g)
07:08:16 Nick Ckatt is now known as Ckat (~Ckat@xn--z7x.xn--6frz82g)
09:06:01***No seen item changed, no save performed.
09:20:42 Quit eminguez (Quit: Connection closed)
09:39:22rb-bluebotBuild Server message: New build round started. Revision 2acf8db3e1, 297 builds, 8 clients.
09:40:04desowinthat's a few mA saved when hold is on (screen off), so the runtime gap between OF and Rockbox should now be smaller
09:40:41desowinI wonder how much throttling can save
09:44:27speachydesowin: probably low double-digit percentages at best
09:45:52speachythe analog path tends to be the dominant power drain, and with the codecs going pretty much everything other than the CPU has to keep running.
09:48:33speachyon the xduoo x3 (which admittedly is worst than most) I saw negligible power savings from downclocking the CPU to ~25%
09:52:48desowinwell, OF tends to most heavily downclock the SDRAM
09:52:58desowinthey have throttle for cpu, sdram, axl and dsp
09:53:34braewoodshah. gotta love how chain assignments don't really work without warnings when mixing pointer and integer types even when the original value is a 0 constant
09:53:41speachyon the X3 the reclocking also introduced audible audio artifacts, which is why I was ultimately never enabled.
09:53:52braewoodswhich would normally go without warning
09:54:31speachy(slight pop everytime the clock was changed.. changing only the core CPU clock divider; the PLL, bus, sdram, etc didn't change)
09:57:56rb-bluebotBuild Server message: Build round completed after 1113 seconds.
09:57:59rb-bluebotBuild Server message: Revision 2acf8db3e1 result: All green
10:01:11braewoodsIt's not easy being green~
10:02:02desowinin sansa connect dsp sends data over i2s, so as long as dsp clock stays constant and sdram is not too heavily downclocked, there shouldn't be any pops
10:03:58braewoodsreminds me of the time i had to disable Linux dmix in order to eliminate audio issues on an ARM based device using a USB sound device
10:04:07braewoodsdmix was too much for it
10:04:33braewoodsand was overkill anyway for what i was doing
10:05:32braewoodsthough on most Linux hardware i've used dmix causes no issues
10:09:55 Quit pookie (Quit: All for nothing)
10:11:36 Join olspookishmagus [0] (
10:58:16 Quit akaWolf (Ping timeout: 258 seconds)
11:06:05***Saving seen data "./dancer.seen"
11:07:03 Join akaWolf [0] (
12:25:32 Join ZincAlloy [0] (
12:42:44 Quit Natch (Remote host closed the connection)
12:49:34 Join Natch [0] (
12:52:47 Join ufdm_ [0] (
12:53:02 Quit ufdm (Read error: Connection reset by peer)
13:06:09***Saving seen data "./dancer.seen"
13:11:06 Join lebellium [0] (~lebellium@2a01:cb10:2e:2000:e9ca:38cc:83d9:a9a6)
13:13:47braewoods g#3519, any comments?
13:13:48rb-bluebotGerrit review #3519 at : zip: import initial zip module by James Buren
13:15:02braewoodsi've tested it already and it seems to work but i still need to write integration code.
13:44:12braewoodsdesowin: what kind of battery does the connect have? i know it's lion since pretty much everything uses that but how is it connected to the board?
13:48:12braewoodsfrom the pictures there's no obvious cable going from it
13:48:19braewoodsit looks like like a cell phone battery
13:49:13braewoodsmakes me think replacing it woudln't be easy
13:50:09braewoodsno after markets made for it...
13:53:34braewoodshm. the closest i could find is the E280 or so.
13:53:45braewoodsin any case
14:27:39braewoodsoh wow it seems this is even worse than the soldered batteries in newer sansas
14:28:39braewoodsthat's one thing we'd need to solve for this port to be practical today
14:28:45braewoodsbattery replacement
14:30:30_bilgusI've had luck re-using the frame and filling it with a bag from a similar sized pack
14:31:00braewoods_bilgus: time to review some code? :)
14:31:36_bilgusnot but if its up I may tonight
14:31:44braewoodsit's up already
14:31:46braewoods g#3519
14:31:48rb-bluebotGerrit review #3519 at : zip: import initial zip module by James Buren
14:32:10braewoodsfairly large by my regular commits
14:34:11_bilguson the public api (.h) could you add comments for them? at least brief desc expected args
14:35:37 Quit munkis (*.net *.split)
14:35:37 Quit richbridger (*.net *.split)
14:35:37 Quit bluebrother (*.net *.split)
14:35:37 Quit advcomp2019 (*.net *.split)
14:35:37 Quit tchan (*.net *.split)
14:35:37 Quit Galois (*.net *.split)
14:35:37 Quit SammysHP (*.net *.split)
14:35:37 Quit Retr0id (*.net *.split)
14:35:38 Quit Airwave (*.net *.split)
14:35:38 Quit bertrik (*.net *.split)
14:36:05braewoods_bilgus: just most rockbox headers don't even have that
14:37:34_bilgusopen and close are self explanatory read shallow and deep need something
14:39:07_bilguswe also don't use typedefs
14:39:44*braewoods raises an eyebrow.
14:39:51braewoodsI see those littered all over the firmware.
14:39:58 Join munkis [0] (
14:39:58 Join richbridger [0] (
14:39:58 Join bluebrother [0] (
14:39:58 Join advcomp2019 [0] (~advcomp20@user/advcomp2019)
14:39:58 Join tchan [0] (
14:39:58 Join bertrik [0] (~bertrik@revspace/participant/bertrik)
14:39:58 Join Galois [0] (
14:39:58 Join Airwave [0] (
14:39:58 Join SammysHP [0] (
14:39:58 Join Retr0id [0] (~Retr0id@user/retr0id)
14:40:33 Quit richbridger (Max SendQ exceeded)
14:40:58 Join richbridger [0] (
14:41:37braewoodsi see typedefs for function pointers... plain integers...
14:43:06braewoodswell... there's port specific code that doesn't follow that rule. so which is it?
14:43:35_bilgusthere are rules broken here and there but in core rarely
14:44:30braewoodsok... it's just going to mean a shitload of reworking this then.
14:44:38braewoodsi used the aliases all over the place
14:45:03_bilgusI've been here done this when I started as well
14:45:18_bilgusI'm sure its in the IRC logs :)
14:45:25braewoodsi'm just used to using typedefs to keep names short.
14:46:33_bilgusproblem being as I have come to realize over time is it has the potential to introduce really hard to find bugs and makes it hard to follow code
14:47:21_bilgusnow in the plugins eh do whatever and vendor code well sometimes it is what it is?
14:48:13braewoodsNo code in .h
14:48:16braewoodsfiles or #defines.
14:48:21braewoodsi guess all headers break the latter rule.
14:48:31braewoodsheader guards technically break no defines
14:58:31 Join dconrad [0] (~dconrad@
15:06:13***Saving seen data "./dancer.seen"
15:30:50braewoods_bilgus: done.
15:31:43braewoodsi only have one typedef now, for the function pointer
15:43:35 Quit dconrad (Remote host closed the connection)
15:59:20 Join dconrad [0] (~dconrad@
16:03:29 Quit dconrad (Ping timeout: 252 seconds)
16:03:56_bilgusbraewoods, looks good to me its not touching anything else so ill push it
16:04:42rb-bluebotBuild Server message: New build round started. Revision b87e75f768, 297 builds, 8 clients.
16:05:05braewoods_bilgus: thanks... i mainly needed to see that it would build on all ports.
16:05:13braewoodsi tested it on some of mine
16:05:28_bilguswell without anything hooking it I doubt it'll touch much
16:05:37braewoodsyea, i hope so.
16:05:57braewoodsmy next initiative is adding a high level API for some common uses
16:06:29braewoodsthis level was just to provide the foundation for people to customize their interface to it
16:07:17braewoodsi also need to find an inflate library i can use or modify for transparent decompression
16:08:02_bilgusif you need more room you could do a plugin overlay
16:08:24desowinbraewoods: it is glued with the tiny pcb to the back case. The battery pcb is
16:08:32_bilgusbasically it loads a plugin sets everything up and then extracts code over the initial plugin
16:08:36desowinthe B- and B+ are the terminals for the cell
16:09:19braewoodslooks like it was spot welded originally
16:09:41braewoodsthose big plates are normally for spot welding to
16:10:18braewoodsso yea, replacing the battery is non-trivial...
16:10:24desowineverything is wrapped with non-conductive black something
16:10:48desowinonly the four pads that make contact with the connector on main pcb are not covered
16:11:03braewoodsyou basically need to use a pouch cell that fits the terminals
16:11:26desowinyou'd have to program the bq27000 to get good readings as well
16:11:28braewoodsno cylindrical cell would fit there
16:11:45braewoodswhy? because it's tuned for the old battery?
16:12:09desowinit knows quite a lot about the cell, so it gives you really nice data
16:12:11braewoodsi'm assuming you mean that the battery needs to be power cycled
16:12:31desowinlike compensated state of charge, time to empty and so on
16:12:33braewoodsi've heard some systems can "learn" the battery through power cycling it
16:12:45braewoodsfill it up, drain it full, repeat a few times
16:13:11braewoodsis that same here or does it literally have to be reprogramed
16:13:33braewoodsi'm just thankful the gigabeat S has such an easy to replace battery
16:14:38desowinbq27000 does learn over the cycles, not sure how the initial parameters affect it
16:18:25desowinI think the temperature compensation gain and offset is not "learnable"
16:18:57rb-bluebotBuild Server message: Build round completed after 854 seconds.
16:19:00rb-bluebotBuild Server message: Revision b87e75f768 result: All green
16:48:06 Quit pablocastellanos (Remote host closed the connection)
16:49:43 Join cockroach [0] (~blattodea@user/cockroach)
16:53:48 Quit cockroach (Client Quit)
16:53:49 Join cockroac1 [0] (~blattodea@user/cockroach)
17:04:22 Quit lebellium (Quit: Leaving)
17:06:15***Saving seen data "./dancer.seen"
17:09:26 Join dconrad [0] (~dconrad@
17:58:11braewoods_bilgus: i'm trying to create a mkdir recursively routine but i realized i don't even know how the volume/drive works in regards to the path.
17:58:25braewoodsso my code would fail for multi-volume or multi-drive ports
17:58:28braewoods(or both)
17:58:36braewoods_bilgus: is it documented anywhere?
17:59:29_bilgusin the source? i'm not sure exactly what you are asking
17:59:49braewoodsunder Linux, all paths uses the same root file tree.
18:00:01braewoodsbut how do you specify the volume/drive in rockbox paths?
18:00:08_bilgus0 1 2
18:00:15braewoodsso like
18:00:20braewoods1/foo/bar ?
18:00:26_bilgus0/ is root 1/ is first sd
18:00:44braewoodswhat if partitions are involved?
18:01:04_bilgusI think you can enumerate them by checking for validity
18:01:12_bilgusnot sure
18:01:27braewoodsmostly just wanted to know how it is specified so i can handle the path processing correctly
18:01:32_bilgusIve yet to run into partitions
18:01:47braewoodsi'm planning to add a new pathfuncs function for mkdir recursive
18:01:55braewoodssince i suspect it may prove useful elsewhere
18:02:01braewoodsit would basically emulate mkdir -p
18:02:10_bilgusI assume its the same but perhaps its another scheme
18:04:48__builtinbraewoods, _bilgus : "no code in .h files or defines" means that you should not define functions inside header files or macros
18:05:10__builtinobviously you must have #defines in header files
18:05:27_bilgusyep and ive done so but I think its in a plugin
18:05:43braewoodsmacros still must be used for things.
18:05:49braewoodssome kinds of constants or so
18:06:00braewoodsdoes it mean function-like macros?
18:06:12braewoodsthose i've already seen used in rockbox headers
18:06:25__builtinnot strictly
18:06:53braewoodsabout the only function that might be added to a header is inline functions, an alternative to function macros sometimes
18:07:02__builtinyou can define function-style macros such as LOGF, IF_COP, etc
18:07:22__builtinbut only in select circumstances
18:07:43braewoodsat least goto isn't off the table
18:08:06__builtinobviously you can use your discretion about stuff like this
18:08:11braewoodsi use it when i want to reuse local code segments
18:08:26__builtinsometimes goto is the best way, but you should think very carefully about it
18:08:37braewoodsi already have a pretty good idea when to use goto
18:08:52braewoodsi mainly use it to consolidate on a single exit path when i have resources to manage
18:09:09__builtinyeah, that's about the only case I can think of
18:09:26__builtinthat and breaking out of a deeply nested block
18:59:54 Quit ZincAlloy (Quit: Leaving.)
19:02:27 Quit dconrad (Remote host closed the connection)
19:06:16***Saving seen data "./dancer.seen"
19:09:52 Join dconrad [0] (~dconrad@
19:14:10 Quit dconrad (Ping timeout: 240 seconds)
19:31:32 Join Pl3x6 [0] (
19:31:59Pl3x6hi all
19:36:07Pl3x6i need hlp to install rockbox on cowon D2
19:36:11Pl3x6 :D
19:38:42speachyI'm pretty sure that nobody active here has ever owned a D2, so those instructions are the best we can suggest.
19:39:12braewoodsspeachy: question about volumes. it seems rockbox treats partitions and drives both as a volume. is that correct?
19:40:23braewoodsjust trying to understand how the volume/drive specifier fits into all this
19:40:30braewoodsin paths
19:42:14Pl3x6hi all .
19:42:19Pl3x6thanks i chek this
19:47:51 Quit Pl3x6 (Quit: Client closed)
20:20:36 Join dconrad [0] (~dconrad@
20:58:36speachybraewoods: each drive+partition gets a unique volumeid, IIRC. paths are always relative to that volumeid.
21:00:11_bilgusis there a enum function for them or is it 0-?
21:00:20speachy0-whatever, I think
21:00:58_bilgusso in theory you've no clue if its a volume or a partition at end user code?
21:01:09speachydon't recall if there are convenience functions to enumerate them; each entry in the volume structure has an "active" flag or whatnot
21:01:30speachyI think so, yes. Now down in the filesystem code that's different.
21:01:52_bilgusyeah IIRC set a loop to max volumes + max partition and went to 0
21:02:20_bilgusthen you check if valid for a sanity check
21:06:17***Saving seen data "./dancer.seen"
21:11:40 Quit dbohdan (Quit: ZNC 1.7.2+deb3 -
21:11:52 Join dbohdan [0] (~dbohdan@user/dbohdan)
21:12:36speachyit does get messy with respect to removable media.
21:13:15speachybut IIRC we only enable "multivolume" on stuff whose OF used more than one paritition; otherwise we just assume one partition per device.
21:33:09 Quit cockroac1 (Quit: leaving)
23:06:20***Saving seen data "./dancer.seen"
23:08:36 Join aquijoule_ [0] (
23:10:52 Quit richbridger (Ping timeout: 246 seconds)
23:29:43 Quit dconrad ()
23:32:30braewoodsok third gigabeat S repaired
23:36:30braewoodsbluebrother: i've found my solution for rbutil's support for gigabeat S.
23:37:12braewoodsi'm working on adding ZIP support to the bootloader so we can send the ZIP archive we'd normally extract over MTP for the bootloader to deal with
23:37:37braewoodsbluebrother: what would that require out of rbutil?
23:37:52braewoodsafter that it can just use rockbox's usb storage driver
23:41:54braewoodson second thought i just realized
23:42:13braewoodsgiven how ZIP archives directories i don't need to make a mkdir recursive setup
23:42:26braewoodsit'll re-create the parent directories for me
23:42:34braewoodsbefore i ever need to process the regular files

Previous day | Next day