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).

#rockbox log for 2004-03-05

00:01:22 Join Guest [0] (jirc@
00:01:45Guesthi all
00:02:20Guestis there some1?
00:04:40GuestBagder do you know where to download 11172-3 standard?
00:05:56Guestis there someone in the channel who know it?
00:08:20Guestok :(
00:08:44Guestbye, nite to all
00:09:16 Quit Guest ("Leaving")
00:16:27 Join top_bloke [0] (
00:17:06 Quit Bagder ("")
00:29:43***Saving seen data "./dancer.seen"
00:32:16 Join elinenbe [0] (
00:46:55 Join track [0] (
00:46:58 Quit track (Client Quit)
00:48:46 Quit AciD` (Read error: 104 (Connection reset by peer))
00:53:10 Join diddystar5 [0] (
00:59:49 Quit elinenbe (Read error: 104 (Connection reset by peer))
01:00:01 Join elinenbe [0] (
01:08:56 Join midknight2k3 [0] (
01:25:18 Quit diddystar5 ("Leaving")
01:26:20 Join diddystar5 [0] (
01:31:42 Quit diddystar5 ("Leaving")
01:34:40 Quit elinenbe (Read error: 54 (Connection reset by peer))
01:34:54 Join elinenbe [0] (
01:38:00 Join Ka_ [0] (
01:39:27midknight2k3KA yay
01:40:38Ka_midknight2k3: how goes it?
01:48:17 Join scottcim [0] (~jirc@
01:49:36 Quit scottcim (Client Quit)
01:54:09 Nick amiconn|code is now known as amiconn (
01:57:27 Join Bluechip [0] (
02:02:15 Quit amiconn (" HydraIRC rocks! -> <-")
02:29:13Bluechiplittle box didn't flash!
02:29:45***Saving seen data "./dancer.seen"
02:30:17Bluechiphence 24 minute delay in response
02:32:21midknight2k3not 24m
02:32:36Bluechipmust be within seconds:
02:32:37DBUGEnqueued KICK Bluechip
02:32:37Bluechip[01:04] <midknight2k3> BC
02:32:37Bluechip[01:28] <Bluechip> hello
02:33:05midknight2k3i said at 17:04:03 and you replied at 17:29:02
02:33:08midknight2k3so yes by 5 seconds
02:33:25Bluechipoh sweet irony
02:33:35 Quit Davel23 (Read error: 60 (Operation timed out))
02:35:06midknight2k3oh die bc
02:35:25Bluechipyou're so nice 0 lol
02:35:30Bluechip0 -> -
02:37:13 Part Bluechip
02:45:24 Quit midknight2k3 ("Going... BYE!")
02:52:12 Quit top_bloke ("The mind is a terrible thing to taste. Wasted 5 minutes and 2 seconds online.")
03:11:03 Join Davel23 [0] (
03:14:27 Join diddystar5 [0] (
03:17:54 Quit Davel23 ()
04:24:56diddystar5bye bye
04:24:57 Quit Nibbler (Read error: 104 (Connection reset by peer))
04:25:07 Quit diddystar5 ("Leaving")
04:29:46***Saving seen data "./dancer.seen"
04:34:40 Quit scott666 (Read error: 104 (Connection reset by peer))
04:37:25 Join scott666 [0] (
05:10:27 Quit elinenbe (" HydraIRC -> <- :P")
05:18:01 Join Nibbler [0] (
05:32:50 Join midknight2k3 [0] (
06:15:15 Quit scott666 (Read error: 54 (Connection reset by peer))
06:21:16 Join Bluechip [0] (
06:21:38 Part Bluechip
06:29:48***Saving seen data "./dancer.seen"
06:35:44 Quit midknight2k3 ("Going... BYE!")
06:56:23 Quit Nibbler (Read error: 104 (Connection reset by peer))
07:06:20 Join phreaky [0] (
07:07:15 Quit phreaky (Client Quit)
07:16:09 Join LF [0] (
07:20:50LFw00ties, new daily builds and flashing to rom are teh shiznit, TY
07:21:23 Quit LF ("Leaving")
08:29:49***Saving seen data "./dancer.seen"
08:32:54 Quit dwihno (Read error: 54 (Connection reset by peer))
08:34:26 Join dwihno [0] (~dw@
08:35:50 Join Nibbler [0] (
08:50:57 Join matsl [0] (
08:50:58 Quit Nibbler (Read error: 54 (Connection reset by peer))
09:11:20 Join AciD` [0] (
09:56:06 Join linusN [200] (
10:29:53***Saving seen data "./dancer.seen"
10:36:02 Join Nibbler [0] (
11:08:25 Quit Nibbler (Read error: 54 (Connection reset by peer))
11:53:59 Join c0utta [0] (
11:55:15linusNhi c0utta
12:02:32 Quit c0utta{work} (Read error: 60 (Operation timed out))
12:02:32 Nick c0utta is now known as c0utta{work} (
12:29:54***Saving seen data "./dancer.seen"
12:36:14 Join Nibbler [0] (
12:49:19 Join pfavr [0] (
12:55:46 Quit pfavr ("ChatZilla 0.9.52B [Mozilla rv:1.6/1]")
13:07:37 Nick c0utta{work} is now known as c0utta (
13:07:45c0uttahi linus
13:07:46 Quit AciD` (Read error: 104 (Connection reset by peer))
13:12:54c0uttanoone in rockdox
13:13:17linusNi discussed the menu callback stuff with björn and daniel yesterday, over lunch
13:14:18c0uttathis doesn't sound good...
13:17:12linusNwe like the callback idea
13:17:19linusNbut we want it more general
13:17:27linusNour idea is the following:
13:17:33c0uttaha, i thought björn would hate it..
13:17:42linusNhe did at first :-)
13:18:38linusNinstead of a table with key codes and callback functions, we have a single callback
13:19:17linusNcb_func(int keycode, int menuid, int cursorpos);
13:19:26linusN(maybe some more arguments)
13:19:54linusNthen the callback checks the keycode and does whatever it wants and then returns
13:20:08linusNthe return code is the cool thing
13:20:28linusNit returns an int, containing a keycode
13:20:56linusNso if it didn't handle the key it returns the same key code
13:21:06linusNif it did handle it, it return 0
13:21:20linusNor, it could return a new key code! :-)
13:22:03linusNbasically, it's a hook
13:22:28linusNwe also discussed pre- and post hooks, but we settled for a pre hook in the first place
13:22:31linusNwhat do you think?
13:24:49c0uttai need some time to understand it!
13:25:24linusNbasically, only one callback function instead of several
13:27:16c0uttaso this is instead of:
13:27:17c0uttavoid menu_delete(int menu, int position);
13:27:18c0uttaint menu_count(int menu);
13:27:18DBUGEnqueued KICK c0utta
13:27:18c0uttabool menu_moveup(int menu);
13:27:18c0uttabool menu_movedown(int menu);
13:28:24linusNit's instead of the "short circuit" table
13:28:41c0uttai understand - my keyhandler
13:28:42linusNbut it could replace those functions as well, yes
13:29:19linusNso, the menu function would do this:
13:29:29linusNbutton = button_get();
13:29:57linusNbutton=(callback)(button, menuid, ...);
13:30:28c0uttayes, much more general
13:35:37c0uttaso cb_func would need to be registered via a function in menu.c (like the menu_keyhandler function that I have) ?
13:36:37linusNhow about an extra argument to menu_init()?
13:37:29c0uttathe reason i like a seperate function is that it doesn't involve changes to other files
13:38:03c0uttaif you want to use a callback then you can, otherwise you don't even need to consider it
13:38:19 Join Bagder_ [241] (
13:39:18linusNhi Bagder_!
13:39:32Bagder_me uses secret tunnel ;-)
13:39:40linusNfigured so
13:39:52c0uttabtw linus is a recorder 20
13:40:34linusNBagder_: what's your opinion:
13:40:46c0uttano, no more than a normal v1 recorder :)
13:40:48linusN(regarding the menu callback)
13:41:07linusN1) An extra argument to menu_init()
13:41:20linusN2) A menu_callback() function
13:41:36linusN(an extra call toregister the callbak, that is)
13:42:52c0uttathere's only 10 files affected by menu_init
13:43:22c0uttaso it's not that bad
13:47:20linusNi think an extra argument is ok
13:47:25Bagder_me too
13:48:01linusNc0utta: wanna code it?
13:48:03c0uttaok, consider it done
13:48:19c0uttait won't make 2.2 tho
13:48:22linusNinclude as many arguments to the callback as you feel necessary
13:48:28linusNof course not 2.2
13:48:55c0uttai nominated myself for the flashing update in the manual
13:49:10c0uttaso i'm busy doing that
13:53:04linusNof course, you can disable the callback by passing a NULL pointer
14:11:47c0uttalinus, we spoke about continually reading the keypad map from disk when you press F2 - do you remember ?
14:12:24 Join edx [0] (
14:25:29linusNyes i do
14:25:46linusNand i'm against it
14:26:21c0uttaare you suggesting i should use a static array and only load once ?
14:27:47linusNabsolutely, the disk delay will be far too annoying
14:28:42c0uttai need to ask a VERY basic C question - remember it's been many years since i've been proficient in C
14:28:46 Join scott666 [0] (
14:28:58linusNshoot, i promise i won't laugh :-)
14:29:43c0uttawhen i define a static array in a function, what is the best method ? In my case it will be an array of structures
14:29:55***Saving seen data "./dancer.seen"
14:30:16 Quit scott666 (Read error: 104 (Connection reset by peer))
14:31:10 Join scott666 [0] (
14:31:12c0uttado i just do: static struct structarray[16];
14:31:27scott666snow day!
14:31:54c0uttado the elements get set to NULL ?
14:31:58linusNbut the "static" is not necessary
14:32:21c0uttait's not ? why ?
14:32:26linusNyes, it is cleared at boot, if it is declared in a global scope
14:32:47c0uttai would only do it static within a function
14:32:57c0uttanot global
14:33:26c0uttatherefore i need "static"
14:34:15linusNthe "static" keyword has a special meaning inside functions, and it is used to move variables to the heap to make the data persistent, but then the variable name must be unique
14:34:43linusNso using "static" in a function does what you think it does
14:34:48c0uttaunique across all functions globally ?
14:34:52linusNbut in a global scope it's different
14:35:32linusNif you declare a symbol static in a blobal scope, it is already on the heap, but the symbol will be hidden
14:36:00linusNso the effect is that the symbol isn't available to other functions
14:36:09linusNin other modules, that is
14:36:37c0uttai understand the scope issues, but initialisation in C has always confused me
14:36:50c0uttainitialisation of statics, that is
14:36:53Bagder_statics are zeroed from start
14:37:00 Nick Bagder_ is now known as Bagder (
14:37:06linusNyes, it is cleared at boot, if it is declared in a global scope
14:37:15Bagderin local scope too
14:37:23linusNif it's static
14:37:29linusNi stand corrected
14:38:39c0uttaBagder, "zeroed" ? what about structures, arrays, etc. Do you mean "initialised" ?
14:38:58Bagderanything static is zero from start
14:39:05Bagderstructs, arrays, whateve
14:39:23c0uttazero ? not null ?
14:39:38BagderNULL is a pointer
14:39:47Bagderbut in general the same
14:39:54Bagderzero, null, nil, nada, cleared
14:40:21c0uttagotcha - "initialised" means set to default value
14:40:52Bagderright, if its assigned it gets set to the default value at first
14:41:00Bagderlike "static int a = 1"
14:41:32c0uttaand that only applies at boot with statics ?
14:41:44c0uttaso static int a = 1 is only ever run once
14:42:26c0uttai must have slept though the initialisation lecture in 1988
14:43:16c0uttalinus, when you said <linusN> the "static" keyword has a special meaning inside functions, and it is used to move variables to the heap to make the data persistent, but then the variable name must be unique
14:43:36c0uttayou meant statics within the same scope, didn't you ?
14:45:00linusNwell, i was only trying to explain the mechanism behind the "static" keyword
14:45:16linusNthere are no restrictions on the variable name
14:45:48linusNwhat i was trying to say is that you don't need the "static" keyword in a global scope
14:46:29c0uttai understand your point. statics within a file are assumed if they're defined outside of functions
14:46:50c0uttayou'd use extern if you wanted to see them in other files
14:47:18linusNif you declare global variables static in a global scope, they can't be exported
14:47:49c0uttaexported in this context means .. ?
14:47:58linusNto other modules
14:49:16c0uttabut putting "int a = 1" at the top of a file the compiler assumes it's a static
14:50:32Bagderyou can then do "extern int a" in another source to reach it
14:51:17c0uttagot it. if you use static int a = 1 then you can't
14:52:10c0uttareach it
14:53:26linusN"static" in a global scope doesn't mean "keep its value", it means "hide it"
14:53:51linusNglobal variables always keep their values
14:54:21c0utta[00:23] <linusN> "static" in a global scope doesn't mean "keep its value", it means "hide it" -> that explains it exactly
14:55:07c0uttano more questions
14:55:30c0uttamack to our original discussion - i agree that we should only load the keymap from file once
14:57:03c0uttahow "user configurable" should the F2 menu be in your opinion ?
14:57:16c0uttaconfigurable by editing the file ?
14:57:39linusNi'd definitely settle with that
14:58:02c0uttai had visions of allowing users to navigate through the F1 menu and be able to add to the F2 menu "on the fly"
14:58:19Bagdersave that for later, I'd say
14:58:24linusNi think we should start with the basics
14:58:49c0uttaok, what do you think we should put int the default F2 menu ?
14:59:10c0uttatke a vote, or make an executive decision ?
14:59:15linusNBagder and i had an idea about a "my plugins" folder
14:59:37linusNthe plugins in there would en up in the f2 menu
15:00:04linusNfor easy access to, let'ssay, the "favorites" plugin
15:00:37linusNi think it's mentioned in the NEWKEYS document
15:00:38c0uttaright now i can add plugins to my F2 menu
15:00:59c0uttarun tetris or favourites or whatever
15:01:14c0uttaOR load the plugin viewer
15:01:31linusNi wonder if we should have a builtin default, or just a default file in the ZIP?
15:01:45linusNi vote for a default file in the zip
15:02:11Bagderme too
15:02:12c0uttai vote for creating the default file if it doesn't exist
15:02:50c0uttathis enables a user who screws up their file to reset by simply deleting it
15:03:07linusNthat would take unnecessary space in the firmware file
15:03:35Bagderindeed, let's have a good default in the manual instead for those that delete it
15:03:56Bagderwasting manual is better than wasting precious ram
15:04:19dwihnoMy preciousssss!
15:04:26dwihnoI want to have the 8 meg RAM mod :)
15:04:37dwihnoI just need some techno geek to apply it for me \o/
15:04:38c0uttaso what's in the default ?
15:05:52linusNit should be context sensitive as well?
15:06:24linusNFavorites.rock is a must
15:06:47dwihnodefrag.rock is my fav' ;)
15:06:49c0uttaok. recording is another
15:07:14linusNnot while in the wps :-)
15:07:21dwihnovolume! :)
15:07:27dwihnosound settings, I mean
15:07:34dwihnoWith my reworked gui patch \o/
15:07:50c0uttadwihno, you mean the sound settings menu ?
15:07:58 Join AciD` [0] (
15:08:10c0uttalinus, why not while in the WPS ?
15:08:16dwihnoc0utta: indeedelio!
15:08:26c0uttayou can press F1 and choose Recording now
15:08:52linusNit would not be fun to accidentally goto recording when you wanted to select favorites
15:09:41c0uttawhen i mean recording, i don't mean start recording automatically
15:10:09c0uttai mean load the recording screen
15:10:25linusNstill, the music will stop
15:10:44c0uttathen again, pressing F1/Recording is no different than F2/Recording
15:10:51c0uttadrop the idea of recording :)
15:12:44c0uttaanother popular one is "backlight timer"
15:13:37c0uttasome of the bookmarking functions - like view playlist
15:15:40c0uttalinus, björn and daniel can discuss this over another lunch :)
15:15:41 Join kurzhaarrocker [200] (
15:15:56c0uttalet me know and i'll make those functions a priority
15:16:34kurzhaarrockerdon't drop that idea of recording, please :)
15:16:57c0uttakurzhaarrocker, you'll be able to add it yourself by editing the file
15:17:14kurzhaarrockeryes. Me shut's up again.
15:17:15c0uttawe can trust you to not screw it up!
15:17:28 Part Bagder
15:17:56c0uttabut we can't trust the newbie user
15:18:50c0uttalinus, i'll do the callback work this weekend and submit my patch for a 5th time
15:19:09c0uttamaybe it'll get approved
15:19:34linusNhopefully :-)
15:20:10 Join Bagder_ [241] (
15:20:17dwihnolinusN: did you test the sound menu btw?
15:20:41c0uttai enjoy working under an oligarchy :)
15:20:51linusNyour stuff? yes
15:21:05dwihnoI like working under the systembolaget-monopoly
15:21:26 Nick c0utta is now known as c0utta{zZ} (
15:21:26DBUGEnqueued KICK c0utta{zZ}
15:21:59 Quit AciD` (Read error: 104 (Connection reset by peer))
15:29:22 Part Bagder_
15:43:40 Part linusN
15:44:10 Quit edx ()
15:59:59 Part kurzhaarrocker
16:01:32 Join methangas [0] (
16:14:47 Join Tim[RIP] [0] (
16:15:03 Quit matsl (Remote closed the connection)
16:15:07 Part Tim[RIP]
16:29:59***Saving seen data "./dancer.seen"
16:43:53 Join pfavr [0] (
16:47:22 Join diddystar5 [0] (
16:51:44diddystar5hey everyone
16:51:48diddystar5and pfavr
16:51:54diddystar5its my bday!
16:52:03diddystar5yay! lets celebrate
16:55:29diddystar5well i have to go
16:55:35diddystar5see you pfavr and logbot_
16:55:58 Quit diddystar5 ("Leaving")
17:21:49 Join AciD` [0] (
17:39:30 Quit Nibbler (Read error: 104 (Connection reset by peer))
17:47:24 Quit pfavr ("ChatZilla 0.9.52B [Mozilla rv:1.6/1]")
18:30:02***Saving seen data "./dancer.seen"
18:56:25 Join edx [0] (
18:58:47 Quit scott666 (Read error: 104 (Connection reset by peer))
19:03:25 Quit edx ()
19:10:44 Join edx [0] (
19:16:28 Join scott666 [0] (
19:16:32 Join amiconn [0] (
19:21:57 Join Nibbler [0] (
19:38:24 Part scott666
19:43:15 Nick amiconn is now known as amiconn|away (
20:26:31 Part amiconn|away
20:30:05***Saving seen data "./dancer.seen"
20:56:18 Join amiconn [0] (
21:07:05 Join c0utta [0] (
21:07:57 Quit c0utta{zZ} (Read error: 54 (Connection reset by peer))
21:07:59 Nick c0utta is now known as c0utta{zZ} (
21:53:11 Quit dwihno (
21:53:11 Quit mbr (
21:54:22NJoindwihno [0] (~dw@
21:54:22NJoinmbr [0] (
22:07:22 Join c0utta [0] (
22:11:21 Join [IDC]Dragon [0] (
22:11:43amiconnHi [IDC]Dragon
22:11:55[IDC]DragonHi Jens!
22:12:29[IDC]Dragon(master of the nanoseconds)
22:13:23amiconnSpeaking of nanosecond, did you see my descramble.S patch? This also saves your precious IRAM ;-)
22:13:41[IDC]Dragonno, I didn't
22:14:37amiconnLook for patch #910193
22:14:48amiconnI had an idea for hunting down the ata problem and would like to know what you think about it
22:15:32[IDC]Dragoncurrently no SourceForge login possible :(
22:15:54 Quit c0utta{zZ} (Read error: 60 (Operation timed out))
22:16:02 Nick c0utta is now known as c0utta{zZ} (
22:16:20amiconnThat's bad :(
22:18:42[IDC]Dragonhow much shorter is it?
22:18:46amiconn[IDC]Dragon: Speaking of the IRAM - could you tell from memory (or quick lookup) how much space is left there atm?
22:20:13[IDC]Dragon0x1000 - 0xCF8
22:20:35amiconnIs IRAM filled backwards?
22:20:50[IDC]Dragon= 776 bytes
22:21:06[IDC]Dragonno, I was subtracting
22:21:34[IDC]Dragonmore IRAM is needed for a debug build, that's the limiting factor.
22:22:02amiconnOk. My idea for troubleshooting the ata bug is basically a measurement how fast we can go without a read error.
22:22:19[IDC]Dragoncurrently, memset has been taken out of IRAM.
22:22:59[IDC]DragonI'm afraid these read errors could also depend on the box hardware, not only on the disk.
22:23:20[IDC]DragonI don't like the delay gates designed in there.
22:23:27amiconnFor this, I would prepare a special Rockbox build which would consist of two parts: the main .ajz and a special plugin
22:23:32[IDC]DragonThe delay can vary a lot.
22:24:07[IDC]Dragondifficult to place code in the IRAM from a plugin
22:24:30amiconnYes, the delay may also depend on the hardware. Do you know if the different hardware masks correspond to different pcb revisions?
22:24:47[IDC]Dragonyes, they do.
22:25:39amiconnIRAM-code from plugin - yes I know that, that's why I asked how much space is left & why I will need a special .ajz
22:26:36amiconnMy special .ajz would contain a modified copy_read_sectors with an additional parameter, which selects the cop loop to use.
22:27:06amiconnThis way I have to have all loop variants in there, quite a bit larger in total than just one.
22:27:42[IDC]DragonI would wait for the LA measurements before any more speculation
22:28:21amiconnThe "ordinary" ata_read_sectors will call it with speed=0, which will select the C code. This way my .ajz would be safe for normal operation.
22:29:00amiconnAdditionally, I would expose ata_read_sectors to the plugin api
22:30:09***Saving seen data "./dancer.seen"
22:30:24amiconnThe plugin then calls this with all possible combinations of speed and alignment and read the first megabyte of the disk to the mp3 buffer
22:31:36amiconnIt will read twice and calclulate CRC32 for each run. Afterwards it compares the CRCs from the two runs and shows either "ok" or "error".
22:31:37[IDC]Dragonand then do that over and over and compare?
22:32:39amiconnYes, for all different speed and alignments it will read twice (there are currently 7 combinations).
22:33:14[IDC]Dragonyes, could be useful to Linus
22:33:55[IDC]Dragonandwe cando a field test without corrupting people's disks
22:34:03amiconnThis special build would then be announced by me at the ml for testing. The users should report the results along with disk model, hw mask etc.
22:34:52[IDC]Dragonyou probably found my CRC routine?
22:35:12[IDC]Dragonin the flash plugin
22:36:28amiconnNo, not yet. I don't have the "flash" path in my cvs directory, why could this be?
22:37:35[IDC]Dragondon't know.
22:38:07[IDC]Dragonbut it's not in there, it's under apps/plugins/firmware_flash.c
22:38:35[IDC]Dragonfunction crc_32()
22:39:31amiconnOk, found it. Thank you for the hint!
22:39:55amiconnThis way I won't have to write it myself.
22:43:34amiconnI'm just working on the ata loops.
22:43:46 Nick amiconn is now known as amiconn|code (
22:58:10amiconn|codeQick question: Is it possible to use function pointers in rockbox?
23:13:35 Quit [IDC]Dragon ()

Previous day | Next day