**** BEGIN LOGGING AT Wed Jul 01 02:59:58 2015 Jul 01 04:11:13 neemo: don't forget the report update for wed Jul 01 04:11:29 * nerdboy stuck in command-mode Jul 01 04:12:00 if i reset i should come back in edit-mode Jul 01 04:31:28 anyone else completed the evals ? Jul 01 04:31:48 * anujdeshpande tries to join #beagle-mentors .. Jul 01 04:32:29 poke _av500_ Jul 01 04:36:18 * anujdeshpande pokes _av500_ Jul 01 04:36:48 Guest81960: stop playin' around and sit up straight Jul 01 04:37:24 oops, looks like a hard reset coming up... Jul 01 04:59:46 neemo: apparently you have eval too Jul 01 05:06:37 anujdeshpande: pong Jul 01 05:06:51 could you add me to #beagle-mentors ? Jul 01 05:12:44 av500: me and vvu were discussing about the high # page fault issue. our assumption is it might be due to the smaller cache in bone. you have any suggestion? Jul 01 05:50:42 azizulhakim: when playing your 7s of video, do you see the actual amount of pixel data transfered over USB? Jul 01 05:51:05 as in resolution x bit per pixel x fps x time? Jul 01 05:51:14 also, can you make a raw data rare benchmark? Jul 01 05:51:26 basically, inside the driver, transfer data as fast as you can Jul 01 06:02:44 av500: in pc the actual data transferred is smaller compared to the total pixel wise data, in bone amount of transferred data is close to pixel data Jul 01 06:03:19 interesting Jul 01 06:03:33 so the bone numbers make sense Jul 01 06:03:47 still I would like to know what raw speed you can get Jul 01 06:05:18 around 3.5 MB/s Jul 01 06:05:23 jkridner: ping Jul 01 06:05:43 av500: ping Jul 01 06:06:03 rohith: pong Jul 01 06:06:12 jkridner is asleep now Jul 01 06:06:36 av500: okay. jkridner asked me to contact him... Jul 01 06:06:58 yes Jul 01 06:07:58 I will be available here Jul 01 06:10:18 ok Jul 01 06:21:02 imuguruza: ping Jul 01 06:21:13 rohith: pong Jul 01 06:21:38 how ware you doign rohith? Jul 01 06:21:58 imuguruza: I'm fine. How are you? Jul 01 06:22:09 Just arrived to office! Jul 01 07:03:36 vmayoral|pc: ping Jul 01 07:03:45 morning rohith Jul 01 07:03:51 morning Jul 01 07:04:19 vmayoral|pc: Me and Inigo are on #beaglepilot2 Jul 01 11:09:13 update is here http://nvisnjic.com/2015/06/24/gsoc-update-week5.html Jul 01 11:09:28 will link to groups from mobile, my landline is misbehaving Jul 01 11:10:12 I'll be AFK for 2/2.5 hours but I'll check up on mobile so ping I'll probably see it Jul 01 11:12:27 also, I've uploaded the fitting code to github Jul 01 11:12:28 https://github.com/nvisnjic/BeagleSat Jul 01 11:12:38 Abhishek_: does the device tree work ? i can then push it to gh Jul 01 11:12:41 tested it on BBB and the simulations run quite well Jul 01 11:13:04 500 point data both 2D and 3D run in <1s Jul 01 11:14:25 anyway I'm off Jul 01 11:14:32 see y'all later Jul 01 12:50:57 vmayoral: ping Jul 01 13:22:18 vmayoral: ping Jul 01 14:29:42 neemo: did you finish the eval thing too? Jul 01 14:30:06 * nerdboy still figuring out how this gsoc stuff works... Jul 01 14:40:41 nerdboy: yeah Jul 01 14:40:47 sorted the eval and the weekly update Jul 01 14:40:58 and managed to test the simulations on the BBB Jul 01 14:41:30 Yury's stuff runs like lightning, I'll be studying what the code does to replicate that in C asap Jul 01 14:42:08 but I'll have to figure out how to integrate the time-variant components with the eigenvector stuff he's using Jul 01 14:42:26 don't get stuck on that part Jul 01 14:43:05 let it percolate while you get the framework stuff defined Jul 01 14:43:07 I won't invest too much time now, gonna come back to it later Jul 01 14:43:14 yeah Jul 01 14:43:17 good plan Jul 01 14:44:01 @all but if anyone has an idea or two about that code and can give me a hint on how eigenvectors translate to a radius and rotation axis for an ellipsoid Jul 01 14:44:09 well, I'm all ears :) Jul 01 15:20:23 top of the morning to all Jul 01 15:21:27 mornin' Jul 01 15:23:17 vmayoral: Understood. Will look through the OpenROV code for the implementation. Jul 01 15:23:40 * nerdboy alertly noticing moto-timo has the right hat on today Jul 01 15:29:14 DiegoTc: ping Jul 01 15:31:00 ebadawy: pong! Jul 01 15:31:52 ebadawy: I'm trying to recover lost time, Is saw some logs you were talking with jkridner on the format of saving gist Jul 01 15:33:49 DiegoTc: ok, just saying that i didn't able to do any thing yesterday and today as I was having an urgent situation. :( Jul 01 15:34:47 * anujdeshpande cannot find planes on his BBB+SDR+dump1090 :/ Jul 01 15:34:59 _av500_: I'm sorry to tell you that I'll not be able to presente my project this week as I am awake for two days tell now and not sure if I could do that, hope that I'll do it for the next week. Jul 01 15:35:43 ebadawy: OK, I know what's that, if the issue goes further, please let us know. Don't be like me Jul 01 15:36:22 DiegoTc: sure, I will. Jul 01 15:38:34 DiegoTc: I have filled the eval question on melange, is there something else to do? Jul 01 15:38:54 DiegoTc: no code submition or anything like that? Jul 01 15:39:20 no code submission is until the end Jul 01 15:39:27 I will do more testing today Jul 01 15:39:32 looking for some breadboards Jul 01 15:40:01 ok Jul 01 15:45:47 * moto-timo wonders why my hat keeps changing Jul 01 15:49:18 moto-timo: so you're coming to Honduras? Jul 01 15:50:31 DiegoTc: did you have any luck finding out about the bus from UCR? Jul 01 15:51:29 DiegoTc: I have not requested the vacation time yet... so still unclear Jul 01 15:51:47 DiegoTc: project supposedly due by now has been delayed Jul 01 15:51:48 anujdeshpande: hi Jul 01 15:51:56 hola ankur Jul 01 15:52:06 need some help with CAN Jul 01 15:52:12 shoot Jul 01 15:52:18 I am not able to enable CAN on beagle Jul 01 15:52:28 although av500 will shoo us away at 930 Jul 01 15:52:29 dts is also not working Jul 01 15:52:52 is GPIO configured properly Jul 01 15:53:03 apaar: you need to add copyrights and licenses to your code! Jul 01 15:53:31 ankur: dcan1 or 0 ? Jul 01 15:53:47 moto-timo: the UCR bus is full Jul 01 15:53:58 any will do, I was trying dcan1 Jul 01 15:54:08 but checking a good bus transportation and its price is between 62-80$ Jul 01 15:54:14 alexanderhiam :i have it in the driver do i replicate that for the firmware and userspace?? Jul 01 15:54:49 Also I was trying this overlay https://github.com/beagleboard/devicetree-source/blob/master/arch/arm/boot/dts/BB-BONE-SERL-01-00A1.dts Jul 01 15:55:03 but it is giving error in bbbandroid Jul 01 15:55:06 apaar: that license isn't valid without a copyright, and you should really have a LICENSE.txt in the root with the full license in it Jul 01 15:55:19 copyright needs to be on every file Jul 01 15:55:39 ankur: I got CAN working once in here: https://github.com/lgxlogic/CBB-Serial/blob/master/overlay/cape-CBB-Serial-r01.dts Jul 01 15:55:47 DiegoTc: that sounds reasonable :) Jul 01 15:55:50 alexanderhiam :ok i will have a look starting now :) Jul 01 15:56:05 ankur: on first looks the pin mode looks wrong Jul 01 15:56:27 for 0x180 Jul 01 15:56:34 alexanderhiam: do I have to enable any kernel module first or overlay will work directly? Jul 01 15:56:35 ankur: in fact, I even wrote a quick tutorial: http://inspire.logicsupply.com/2014/06/cbb-serial-automotive-can-bus.html Jul 01 15:56:41 try 0x12 instead of 0x02 Jul 01 15:56:42 overlay should do it Jul 01 15:57:41 anujdeshpande: let me try Jul 01 15:58:00 ankur: i refered http://www.embedded-things.com/bbb/enable-canbus-on-the-beaglebone-black/ instead of the github one Jul 01 15:58:51 moto-timo: how much t get to where the bus is? Jul 01 15:58:57 anujdeshpande: I tried that also Jul 01 15:58:59 *to even Jul 01 15:59:06 doesnt work ? Jul 01 15:59:27 me here on mobile Jul 01 15:59:28 no Jul 01 15:59:36 in 15 mins will have pc Jul 01 16:00:36 DiegoTc: if you can save a last-minute spot there's a slim chance we might have a contract nibble by then... Jul 01 16:00:38 ankur: does the overlay load? Jul 01 16:00:45 anujdeshpande: no Jul 01 16:00:54 alexanderhiam: no Jul 01 16:00:55 right. the mode should be 12 instead of 02 for sure. so dont try that other dts which has 02. Jul 01 16:00:58 <_av500_> 5min to launch Jul 01 16:01:12 ankur: what's it say in dmesg then Jul 01 16:01:13 but not like spacex Jul 01 16:01:30 vvu: too soon :/ Jul 01 16:01:42 is there already an overlay for the UART loaded? Jul 01 16:01:48 otherwise budget is tight like one of those tiny brasilian thong things... Jul 01 16:02:08 nerdboy: we can have the space Jul 01 16:02:47 ankur: can you pastebin the overlays that are loaded up ? Jul 01 16:02:51 ugg... airfare is $900 - $1500 Jul 01 16:03:15 ankur with that */slots command thing Jul 01 16:03:16 in the past it's been as low as $500 (round trip) Jul 01 16:03:28 our butt is definitely not that big right now... Jul 01 16:03:42 neem0, nerdboy: so I'm thinking the best coarse of action now is to move focus entirely to the framework and get it all implemented and just passing raw data to the user code, then work on plugging in the algorithm Jul 01 16:04:28 alexanderhiam: yeah, that would be the best course of action, I think Jul 01 16:04:58 yup, "algorithm" is percolating on side burner... assumption is there is a beautiful solver on the backend Jul 01 16:04:59 alexanderhiam: https://gist.github.com/ankurayadav/a7739e7e42243841abe5 Jul 01 16:05:10 I can put in a bit of real data testing in between, but It'll benefit the most once the 3D algorithm is all done Jul 01 16:05:47 <_av500_> ok, its time Jul 01 16:05:47 but anyway, the real test, is once the framework is up and we've got telemetry data going in, since time-variant compensation is where the real trick is to this project Jul 01 16:05:48 neem0: you can fill the rest of the time testing and optimizing once it's in place in the nice framework with unit tests and debug logs! Jul 01 16:05:58 <_av500_> 1) WELCOME everybody Jul 01 16:06:04 alexanderhiam: yup, that's the idea Jul 01 16:06:15 'ello Jul 01 16:06:28 <_av500_> any students here? :) Jul 01 16:06:31 here Jul 01 16:06:40 here Jul 01 16:06:41 ^ :D Jul 01 16:06:53 here Jul 01 16:07:15 hi Jul 01 16:07:18 here Jul 01 16:07:46 <_av500_> ebadawy: ping Jul 01 16:08:04 he had some issues? see scrollback Jul 01 16:08:05 sorry, here Jul 01 16:08:09 <_av500_> azizulhakim is excused Jul 01 16:08:18 ok, did not know Jul 01 16:08:24 <_av500_> vvu: he sent mail Jul 01 16:08:35 <_av500_> anyway, 7+1 makes 8 Jul 01 16:08:49 <_av500_> 2) midterms Jul 01 16:09:00 <_av500_> anybody that did NOT fill out his evaluation form? Jul 01 16:09:15 * nerdboy always feels better not losing a student... Jul 01 16:09:31 <_av500_> ok, I see all 8 filled out Jul 01 16:09:34 <_av500_> thanks Jul 01 16:09:41 o7 Jul 01 16:10:02 apaar: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html#SEC4 Jul 01 16:10:23 * nerdboy remembering lost grad student in the sierra san pedro martir... Jul 01 16:10:30 <_av500_> alexanderhiam: later please Jul 01 16:10:31 we found her Jul 01 16:10:49 jkridner DiegoTc _av500_: is it possible that we will know the grades? :) Jul 01 16:10:59 <_av500_> ebadawy: there are no grades Jul 01 16:11:04 <_av500_> there is only pass and fail Jul 01 16:11:12 <_av500_> you will know the outcome of this Jul 01 16:11:12 then everyone gets an "A" Jul 01 16:11:30 oh... okay. Jul 01 16:11:46 <_av500_> with all mentor and student evals on record, midterms are basically "done" Jul 01 16:11:46 hmmm Jul 01 16:12:06 <_av500_> ds2: btw, I checked, its per student, not per mentor Jul 01 16:12:12 very smooth this year Jul 01 16:12:17 av500: thanks. Jul 01 16:12:23 <_av500_> so only one mentor oer project needs to fill out the form Jul 01 16:12:40 <_av500_> ok 3) BLOCKING issues Jul 01 16:12:51 <_av500_> as usual, your time to speak up Jul 01 16:13:36 Abhishek_: you tried the overlay ? Jul 01 16:13:40 so, 3D fitting algorithm Jul 01 16:13:48 for the BeagleSat project Jul 01 16:14:01 might need bigger blinders for neem0 to not get distracted by shiny new algorithms ... Jul 01 16:14:17 <_av500_> nerdboy: ordered Jul 01 16:14:27 _av500_: was having family issues (not related to the project obviously) blocked me from doing some work these two days. Jul 01 16:14:28 I've tried mimicing the research and using a traditional way to solve the problem yields a not very nice non-linear eq set -> pastebin.com/iKWFX6zu Jul 01 16:14:49 anyone have eny experience with such, erm, inconveniences? Jul 01 16:15:24 * neem0 eagerly awaits he's new "glasses" in the mail :) Jul 01 16:15:41 <_av500_> ebadawy: understood Jul 01 16:15:48 time to put on your system architect hat Jul 01 16:15:49 is there a linear approximation for region of interest? Jul 01 16:15:50 http://pastebin.com/iKWFX6zu <- there, now it's a link Jul 01 16:16:00 glad to Jul 01 16:16:15 <_av500_> neem0: strange link Jul 01 16:16:19 <_av500_> the content Jul 01 16:16:21 just wanna put the issue out here, in case anyone knows te answer Jul 01 16:16:37 well, the content is the super ugly non-linear equations set I've got Jul 01 16:16:45 <_av500_> ebadawy: are you working closely with DiegoTc and jkridner now? Jul 01 16:16:57 ontent just looks like directory listing... Jul 01 16:17:02 so, in the algorithm, in essence i fit the data with least squares to some intermediate linearized values Jul 01 16:17:05 neem0: it doesn't look that way... Jul 01 16:17:07 <_av500_> ebadawy: are there any blockers on the mentoring side? Jul 01 16:17:10 a common way of addressing that is linear approx. over small regions Jul 01 16:17:15 I'm back _av500_ Jul 01 16:17:19 erm Jul 01 16:17:22 and maybe piece it together. Jul 01 16:17:24 -.- Jul 01 16:17:26 shubhangi: back, you'll hear very soon Jul 01 16:17:36 <_av500_> DiegoTc: yes Jul 01 16:17:37 Abhishek_: okay Jul 01 16:17:44 I'll be back with a link to the eqs in a sec Jul 01 16:17:57 ds2: the linearisation is in a separate file, and it goes without a hitch Jul 01 16:17:59 linearize over a region might be insightful but i don't think it's the answer Jul 01 16:18:09 _av500_: no, not at all, the work is going just great. Jul 01 16:18:17 <_av500_> ok Jul 01 16:18:19 <_av500_> good to hear Jul 01 16:18:22 unless he can precompute the solution space Jul 01 16:18:41 and do a look up table Jul 01 16:18:54 where I'm stuck at is I'm trying to solve a set of eqs that relate my intermediate linearization terms with the actual correction parameters( 9 set for rot, scaling and translation) Jul 01 16:18:58 <_av500_> it has to be a huge table to be visible from space Jul 01 16:19:10 lol Jul 01 16:19:11 nonlinear set should be solvable with the proper tools Jul 01 16:19:26 nerdboy: that's the point, I'm trying to precompute the eqs that give me correction parameters based on the linearization intermediates Jul 01 16:19:28 +1 Jul 01 16:19:31 for now we assume there's a solution Jul 01 16:19:46 is the tools runnable in real time on a 1GHz A8 Jul 01 16:19:47 <_av500_> rohith_: you are in close contact with your mentors? Jul 01 16:20:04 eg, plugging what I get from least squares in a set of symbolically presolved eqs to give me the 9 correction paremeters Jul 01 16:20:23 _av500_: Was not in contact for sometime but am now Jul 01 16:20:23 ankur: can you show us what capes are loaded ? Jul 01 16:20:49 ds2: In Theory but not yet confirmed Jul 01 16:20:51 <_av500_> rohith_: GSoC is too short not to be in contact Jul 01 16:20:58 the linearization gets solved fast and is a non blocker, although it'll be expanded again for the time-variant type of algorithm Jul 01 16:20:59 <_av500_> that applies to everybody, student and mentor Jul 01 16:21:14 _av500_: I understand. Will not happen again... Jul 01 16:21:21 jkridner: I'm giving one BBB this weekend, do you want a special article about it or just pictures? Jul 01 16:21:40 so, in essence, I'm asking if anyone has any ideas on how to slove a really long and ugly set of non-lin eqs, that don't go anywhere in MATLAB Jul 01 16:21:42 nerdboy: most of that stuff won't work on a M3/M4 hence the talk about localize approximations. Jul 01 16:21:46 solve symbolically* Jul 01 16:22:09 anujdeshpande: I am using https://gist.github.com/ankurayadav/32212170870949c0f9e5 Jul 01 16:22:18 DiegoTc: article is more reusable. Jul 01 16:22:26 depends on the problem/solution technique Jul 01 16:22:27 neem0: you could try to use approximate linearization, there are some tools in matlab. maybe it will help you to get to a solution. Jul 01 16:22:35 mathematica! Jul 01 16:22:47 arianepaola: +1 :) Jul 01 16:23:08 ds2: I thought about mathematica Jul 01 16:23:09 anujdeshpande: overlays https://gist.github.com/ankurayadav/f9332ad3fe4a49cec334 Jul 01 16:23:18 presumably, its much better at solving eqs than matlab Jul 01 16:23:30 anujdeshpande: dmesg https://gist.github.com/ankurayadav/a7739e7e42243841abe5 Jul 01 16:23:31 depends on the equations Jul 01 16:23:44 need a library for the target no matter what Jul 01 16:23:52 <_av500_> ok, everybody Jul 01 16:24:01 :) Jul 01 16:24:01 <_av500_> can we postpone the solution search until after the meeting Jul 01 16:24:11 ds2: also, the tools should be runnable in realtime, since I tested (with a borrowed fitting algorithm from someone else) and it runs in less than a second for a 500 point 3D dataset on the BBB in octave Jul 01 16:24:14 * moto-timo zips it Jul 01 16:24:25 2D nonlinear goes from wonky to easy with the right tools Jul 01 16:24:45 _av500_: yeah, agreed, I'll upload the EQs and we can discuss it afterwards, thanks :) Jul 01 16:24:53 <_av500_> apaar: can you give a status as discuseed last week? Jul 01 16:25:09 similarity eqns can take 40K iterations or infinity if you don't do it right Jul 01 16:25:10 _av500_ :sure :) Jul 01 16:25:15 nerdboy: yup, and the 2D symbolic solve does it in matlab in 2 secs, as long as it's only 5 eqs Jul 01 16:25:21 9 is to much it would seem :) Jul 01 16:25:26 <_av500_> neem0: nerdboy shhh! Jul 01 16:25:33 <_av500_> apaar: go on Jul 01 16:25:34 use the right tools > 6 iterations, done Jul 01 16:25:42 So the PRU-Bridge Project Jul 01 16:26:08 We are aiming to enable ease of trafering data from ARM-->PRU and vice versa Jul 01 16:26:44 apaar: how goes testing on it? Jul 01 16:27:19 ds2 : The previous implementation of having a buffer pointer to the data in the data header was very glitchy Jul 01 16:27:48 apaar: saw ur rpt Jul 01 16:27:52 so i have to change the way i tranfer data and do away with all the pointers Jul 01 16:28:13 not i have some test codes up can send one off data both ways Jul 01 16:28:20 now* Jul 01 16:28:24 what's the new approach? Jul 01 16:28:46 'k Jul 01 16:29:28 * nerdboy can go read after Jul 01 16:29:35 i put all the data headers in the control channel and created a static character array for the data. variable channel sizes are enabled virtually by just index values Jul 01 16:30:02 also i am trying to figure out the best way to stream data right now but one issue remains Jul 01 16:30:20 is this friendly to dma? Jul 01 16:30:50 we still have to see if it is fully realtime on the pru side as the mem access by both pru and driver may be blocking Jul 01 16:31:48 in the long run, dma would be good to have Jul 01 16:32:12 as ds2 sad this can only be checked by testing.DMA i am not too sure... Jul 01 16:32:20 said* Jul 01 16:33:07 the data tranfer is also byte oriented(alexanderhiams solution :) allowing for traser of any datatype Jul 01 16:33:13 may point is not to design in a deadend when dma gets sorted out. Jul 01 16:34:03 apaar: keep in mind of alignment issues that may pop up on byte oriented stuff on arm. Jul 01 16:35:24 ds2:what sort of alignment issues since i am stacking two fixed size structure on one other in the shared memory and maintaning the rest of the head,tail indexes in one and data in other Jul 01 16:36:17 apaar: if you try to read data 4 bytes at a time and the address is not aligned, it may fault or be very slow on arm Jul 01 16:36:20 seems like a potential performance bottleneck... Jul 01 16:36:39 * nerdboy will need to think about this one some ore Jul 01 16:36:39 <_av500_> ds2: aint that a thing of the past? Jul 01 16:36:47 *more even Jul 01 16:37:20 i.e *(int *)p_stuff when p_stuff mod 4 is not zero Jul 01 16:37:40 av500: it is still a performance issue afaik Jul 01 16:38:07 <_av500_> ok Jul 01 16:38:14 i thik there is a cpsr or something flag too Jul 01 16:38:22 so the variability needs to keep it zero Jul 01 16:38:39 <_av500_> aligning stuff by 4 bytes is not hard Jul 01 16:38:59 apaar: is there any particular reason you have separate read/write functions for each channel? Jul 01 16:39:05 no, but it won't get any better/faster than that Jul 01 16:39:09 just got to remember it when debugging odd issues Jul 01 16:40:11 alexanderhiam :the channels are unidirectional so it would allow me to easily restrict a channel to only one read or write in userspace very easily Jul 01 16:40:29 ds2 :i will keep a eye out for it while testing :) Jul 01 16:40:50 <_av500_> neem0: since azizul is not here today Jul 01 16:40:57 <_av500_> can you give a short report this week? Jul 01 16:41:06 <_av500_> I put you on the list third last week Jul 01 16:41:12 <_av500_> apaar: thansk Jul 01 16:41:20 _av500_: sure Jul 01 16:41:21 <_av500_> thanks even :) Jul 01 16:41:25 looping over char array just seems... non-optimal i guess... Jul 01 16:41:26 next week is better, but today is OK Jul 01 16:41:49 <_av500_> arianepaola: ebadawy: you OK for next week? Jul 01 16:41:56 yes Jul 01 16:42:00 <_av500_> noted Jul 01 16:42:05 apaar: I just mean you define NUM_CHANNELS, then ignore it and explicitely define 5 separate read/write functions Jul 01 16:42:46 <_av500_> ebadawy: ^^^ Jul 01 16:43:22 _av500_: I'm fine with next week... Jul 01 16:43:37 alexanderhiam :the bridge was meant to be fixed channels i just had NUM_CHANNELS to make it easier .To add a channel all we have to do is incriment mun_channels and add a syss file Jul 01 16:43:46 <_av500_> rohith_: ok Jul 01 16:43:52 num* sysfs* Jul 01 16:44:08 <_av500_> neem0: you have the stage Jul 01 16:44:12 _av500_: Ok to start? apaar: all done? Jul 01 16:44:13 <_av500_> 15 minutes of fame :) Jul 01 16:44:22 hah, ok Jul 01 16:44:30 Alright, so the BeagleSat project Jul 01 16:45:42 It's prupose to develop a framework of easily reusable modules that will help future Cubesat builders (from highschoolers to University researchers) to develop their own beaglebone based CubeSats Jul 01 16:46:40 My GSoC is only a small part in that idea, with a focus on the sensor subsystem, especially the magnetometers (and starting up the API/framework code) Jul 01 16:47:24 We should build a prototype (the Orbital Imaging platform mentioned in the GSOC ideas page) and maybe even launch something into space, but that's comes waaaaay later Jul 01 16:47:58 have to bail in 5. Jul 01 16:48:51 <_av500_> ds2: k Jul 01 16:48:53 so I'm currently working on the sensor data processing algorithms, with the ultimate goal of isolating any on-board sources of magnetic interference from the sensor measurements Jul 01 16:49:45 there's a whole IMU thing going on too... Jul 01 16:50:00 the issue being that on bigger satellites, you would traditionally solve thar problem by putting a sensor boom on the spacecraft, a long stick if you will, and isolating the magnetometers/other sensors Jul 01 16:50:14 we can't have that stick on a CubeSat, or we can, but it'll cost some Jul 01 16:50:20 <_av500_> right Jul 01 16:50:25 nerdboy: yup Jul 01 16:50:56 could deploy a shortie maybe Jul 01 16:51:02 so that's what we're doing with each individual sensor, esentially correcting the data with what we would expect to be interference from the spacecraft Jul 01 16:51:27 but not like a real boom on larger spacecraft Jul 01 16:51:40 neem0: can you give a super-high-level synopsis of what data your algorithm gets and what it does with it? i.e. zoom out from the actually implementation for a sec Jul 01 16:51:46 a second level of filtering, can be done with readouts from multiple sensors at once, and we'll look into once the first stage is up and working Jul 01 16:52:03 alexanderhiam: yeah, sure Jul 01 16:52:07 * neem0 digging Jul 01 16:52:29 in your own words, no digging required Jul 01 16:52:44 nah, digging for link for later ;) Jul 01 16:52:46 so Jul 01 16:52:52 with one hand tied behind your back Jul 01 16:53:21 neem0: how many sample latency is the stuff u r working on? Jul 01 16:53:57 the algorithm takes in a data steam from the magnetometer and uses a set of correction parameters ( 3X rotation, 3x offset, 3x scaling) to correct for static (time constant) sources of erros on the spacecraft Jul 01 16:54:39 these correction parameters are computed from a linear model based on a previously recorded sensor data, and can be computed when required Jul 01 16:55:14 it boils down to fitting the 3D sensor data to an ideal ellipsoid and looking how that ellipsoid is distorted (due to errors) and fixing for the distortions Jul 01 16:55:55 the magnitude of the ellipsoid is acquired from the international magnetic reference field database, esentially a number, no vectors required Jul 01 16:56:52 so get enough data -> compute params (once in a while) -> use linear transformations to fix incoming data Jul 01 16:57:08 store original readouts as well, for recomputing params Jul 01 16:57:14 so you're reading some large-ish amount of data at what kind of delta-t? Jul 01 16:57:26 an image and accomanying explanation (same thing i said here) http://nvisnjic.com/2015/06/08/beaglesat-correction-algorithm.html Jul 01 16:57:39 /accomanying/accompanying/ Jul 01 16:57:58 nerdboy: delta-t can be what ever (reasonably) Jul 01 16:58:17 the data should be as varied in angles as possible (to get a good fit on the ellipsoid) Jul 01 16:58:27 so spinning or having a prior spin to the cubesat is essential Jul 01 16:58:38 and we're still talking one sensor(IMU) for "noise" reference and one for data Jul 01 16:59:32 what range of data rates have you tried so far? Jul 01 16:59:52 and the delta-t isn't an issue for the data (at least for the fitting part), since the only assumption we assume to hold true is that the magnitude of earths field is mostly stable and somewhat close to the IGRF reference Jul 01 17:00:35 nerdboy: haven't done test with real data, only matlab simulated (which scales to what ever), but 2D is real data test read (if i can spin it properly) Jul 01 17:00:41 * jkridner has an appointment now and will drop in a minute or so. Jul 01 17:00:54 neem0: cool, thanks. And what about the high-level synopsis of the framework? e.g. what are the major parts, what will the APIs expose to the user code? Jul 01 17:01:28 3D should be testable, but rotation fixing (between x y and z axis) isn't implemented yet (don't know how to read rotation out of eigenvector solution :/) Jul 01 17:02:32 software architecture please... Jul 01 17:02:48 what's on that napkin besides tea stain? Jul 01 17:03:40 * nerdboy 's has beer and pepperoni grease Jul 01 17:04:09 *notional stain is fine for now Jul 01 17:04:33 alexanderhiam: Ideally the API will expose only the minimal handles needed, eg.. order recomputing of parameters, fixed data with selected algorithm either from real-time measurements or from previously stored data Jul 01 17:05:55 manipulate clean data, control of telemetry inputs for time-variant error correction (and recomputing the apporpriate transformation eqs, since they change based on design) Jul 01 17:07:31 where will the algorithm be implemented? Do you still think it's feasible to run it on the PRU? Will sensors be read from kernel space? Jul 01 17:07:39 for the most part the sensor stuff will be tied with the telemetry systems (and other systems as required), because telemetry data is what allows time variant error sources to be detected and compensated for (think detecting current in a solar array, to compensate for the magnetic field produced in those current wires) Jul 01 17:08:35 the fitting/parameter computation from the model should be on the ARM, or I think it won't be feasable on the PRU (but I may be wrong) Jul 01 17:08:42 do we know if there's an existing kernel driver for that sensor? Jul 01 17:09:37 otherwise you get raw SPI interface Jul 01 17:10:01 *for max data rates typically Jul 01 17:10:04 the data correction, which is simple linear transformations, can run on the PRU without any problem, the question is if that makes sense from the delay side (memory access) and if it makes sense to dedicate a PRU to such long waits for data (550Hz is the fastets input we've got currently) Jul 01 17:10:30 I'd say do it all in kernel space at first Jul 01 17:10:33 <_av500_> neem0: thanks Jul 01 17:10:38 <_av500_> we're 10 past :) Jul 01 17:10:43 userspace driver for the MPU9250 is what vmayoral and team worked on, and that should be quite good Jul 01 17:10:46 <_av500_> so thanks everybody! Jul 01 17:10:49 <_av500_> back to coding! Jul 01 17:10:52 <_av500_> stay on IRC Jul 01 17:10:55 <_av500_> stay in toiuch Jul 01 17:10:58 thanks _av500_ Jul 01 17:10:58 <_av500_> stay connected Jul 01 17:10:58 and I went overboard :) Jul 01 17:11:04 <_av500_> shout if you need help Jul 01 17:11:06 _av500_: my apologies Jul 01 17:11:09 <_av500_> np Jul 01 17:11:23 neem0: that was done las year, yeap Jul 01 17:11:31 alexanderhiam: nerdboy I'll look into putting it all in kernel Jul 01 17:11:38 * nerdboy needs a sensor to "play" with Jul 01 17:11:49 vmayoral: yeah, I'll be reusing as much as I can Jul 01 17:12:03 should be good for testing on real data soon :) Jul 01 17:12:29 arianepaola: anything new to commit to github so I can test it? Jul 01 17:12:33 nerdboy: technically, you can already test with the github code Jul 01 17:12:50 neem0: can we spend a few minutes now outlining the software architecture? Jul 01 17:12:51 oh, also, for anyone wanting to follow up Jul 01 17:13:05 http://nvisnjic.com/beaglesat/ project website/blog Jul 01 17:13:15 arianepaola: also, nodejs problem packages that I can build on appveyor? Jul 01 17:13:18 https://github.com/nvisnjic/BeagleSat git Jul 01 17:13:25 * nerdboy waiting for ops concept and software architecture/data-control flow... Jul 01 17:13:52 nerdboy: working on it, will be in asap :) Jul 01 17:14:01 alexanderhiam: and yeah we can Jul 01 17:14:41 although I'm almost asleep at the seat, but ideas welcome :) Jul 01 17:15:22 hendersa: hi Jul 01 17:15:32 neem0: if now's not good let's schedule a time Jul 01 17:15:34 anujdeshpande: CAN? Jul 01 17:15:53 alexanderhiam: that works too Jul 01 17:16:17 although you can spill out what you recommend, since I'm quite new to this Jul 01 17:16:57 still have to read all the sysfs stuff and digest the kernel drivers book Jul 01 17:17:49 nerdboy: and make a couple of graphs for the flow/design Jul 01 17:19:19 alexanderhiam: nerdboy: meetup time to discuss more about the API/framework? Jul 01 17:19:28 neem0: well, I'm imagining you want to get read the data and filter it in a kernel driver. That driver will expose an interface to userspace, e.g. through sysfs. You'll then have a userspace API, I believe you said you wanted to do that in C, which basically provides wrapper functions for reading/writing the sysfs entries Jul 01 17:19:41 short list of requirements maybe, in terms of host-side interfaces/services Jul 01 17:20:26 alexanderhiam: yeah, C would be my first choice, and I cought the general idea of it, eg., where what goes Jul 01 17:21:04 the practical, eg. implementation parts are quite fuzzy to me still, most probably since I didn't have time to digg into kernel drivers and sysfs stuff Jul 01 17:21:19 so your code would talk to sensor and libsysfs interfaces Jul 01 17:21:39 but the sensors are behind their own drivers, no? Jul 01 17:21:50 neem0: so a good approach would be to write a first draft of the header file for your C API, so you know what the driver needs to provide Jul 01 17:22:16 kernel driver exposes what you need i believe unless it doesn't have SPI interface Jul 01 17:22:44 "driver" is another set of functions you call Jul 01 17:23:07 alright Jul 01 17:23:35 include public driver headers, same with libsysfs Jul 01 17:23:40 alexanderhiam: I can think of a general set of requirements for the API, shouldn't be a problem Jul 01 17:24:07 have been reading on API design lately, and I'm mostly trying to take away the cues on how to not screw it up at the beginning Jul 01 17:24:14 and use descriptive names for functions so you don't have to guess what they do :) Jul 01 17:24:24 * nerdboy recalls asking for draft .h "spec" with doxygen comments Jul 01 17:24:25 moto-timo: yeah, got that memo :D Jul 01 17:25:04 +1 for doxygen... self documenting code is much easier to get documentation out of Jul 01 17:25:06 :) Jul 01 17:25:23 nerdboy: noted :) Jul 01 17:25:34 neem0: so I think the best next step is to get that header file drafted and pushed to github ASAP and ping us, then we can discuss from there Jul 01 17:25:42 doxygen is going through my reading list, and it'll be there from the first header Jul 01 17:26:01 it's simple for this case Jul 01 17:26:23 alright, will start on it first thing tomorrow Jul 01 17:26:28 choose comment style and detailed/brief function descriptions Jul 01 17:26:35 gonna fetch some sleep first Jul 01 17:26:36 and follow an example to add it as a postbuild step in Make or whatever Jul 01 17:26:51 autogenerate those docs each build Jul 01 17:26:57 you will thank me later for that :) Jul 01 17:26:58 you guys got any more links I should digest before starting the header Jul 01 17:26:59 what gozinta, what gozouta, data types, etc Jul 01 17:27:01 ? Jul 01 17:27:39 did you lose the median filter example? Jul 01 17:27:52 for doxy? nope Jul 01 17:28:03 bookemarked and opened on the top of my reading list Jul 01 17:28:05 :) Jul 01 17:28:23 was thinking more about the links for API design and such Jul 01 17:28:52 read a bunch and but more is welcome Jul 01 17:29:01 you can finetune doxygen to create nice graphics and include parts of code inline, also enable uml settings. the results are pretty good then. Jul 01 17:29:05 also, kernel driver hello world example maybe? Jul 01 17:29:52 just star from your requirements Jul 01 17:29:57 *start even Jul 01 17:30:12 arianepaola__: Sounds like my type of system, extendable and easy to maintain. Jul 01 17:30:22 you can even just "tell a story" in comments and then translate it to code as you go Jul 01 17:30:23 what kinds of functions, etc, do you need? Jul 01 17:30:23 arianepaola__: thanks Ariane Jul 01 17:30:52 almost always you need SomeParameter_Read(), SomeOtherParameter_Write() type of stuff Jul 01 17:30:53 neem0: we really need to see some of your coding before we can point you towards things to read up on Jul 01 17:31:17 moto-timo: nerdboy alexanderhiam understood Jul 01 17:31:18 * nerdboy usually turns on most/all of the doxygen/graphviz features Jul 01 17:31:36 alright, I think I'll hit the sack for tonight Jul 01 17:31:48 I'll be in reading mode tomorrow and start churning out some code Jul 01 17:31:59 take a look at the kernel/sysfs interfaces Jul 01 17:32:07 it will come to you Jul 01 17:32:15 tomorrow and/or Friday sounds like a good time to meet up again Jul 01 17:32:21 this is just your first ass-pulling Jul 01 17:32:27 but I'll be on IRC throught the day Jul 01 17:32:30 lol Jul 01 17:33:04 nerdboy: duly noted Jul 01 17:33:20 ok, I'm off Jul 01 17:33:26 thanks a bunch guys Jul 01 17:33:29 think of is a geek candy store Jul 01 17:33:39 candy! Jul 01 17:33:45 and hear y'all tomorrow Jul 01 17:33:55 "i want one of those ond three of those, but that needs different parameters..." Jul 01 17:34:06 and more chocolate... Jul 01 17:34:06 jelly belly factory tour :) Jul 01 17:34:20 red apple, blueberry, coconut Jul 01 17:34:29 4th of July special Jul 01 17:34:36 Oh right Jul 01 17:34:41 that's around the corner :) Jul 01 17:34:56 jelly bellys have exact specifications Jul 01 17:35:09 better than most software even Jul 01 17:35:14 ok back to writing my own header file and driver.... Jul 01 17:35:25 good session today :) Jul 01 17:35:39 moto-timo: gl Jul 01 17:35:57 and gnight everyone Jul 01 17:36:14 or gday, what have you Jul 01 17:36:16 :) Jul 01 17:36:23 neem0: it's okay to dream on your shiny algorithms Jul 01 17:36:41 but back to software interfaces tomorrow... Jul 01 17:36:43 moto-timo these sweets sound all like android release names. Jul 01 17:40:34 _av500_: still here ? Jul 01 17:43:48 * neem0 falls into an algorithmic world Jul 01 17:51:01 arianepaola__: lol Jul 01 18:50:00 rcn-ee: do you know anything about a half-sized serial header? 1.25 mm pitch maybe? Jul 01 18:50:19 i'm assuming you guys carry that? Jul 01 18:50:50 it's on a jz4730 SoC Jul 01 18:53:50 <_av500_> nerdboy: 1.27mm Jul 01 18:54:59 of course you probably have one already... Jul 01 18:55:11 <_av500_> I think I even have some somewhere Jul 01 18:55:19 <_av500_> I have 2mm fr sure Jul 01 18:55:21 <_av500_> for* Jul 01 18:55:23 "i told 'im we've already got one! hehehe..." Jul 01 18:55:33 <_av500_> ingenic, eh? Jul 01 18:55:44 mipsbook is alive again Jul 01 18:56:04 <_av500_> inst that a totally underpowered 1ghz chip? Jul 01 18:56:14 you betcha Jul 01 18:56:38 there's active DT work on other jz SoCs Jul 01 18:57:04 suddenly mipsbook-devel has traffic Jul 01 18:57:19 <_av500_> even the JZ4770 was slow to run android on a tiny smartwatch Jul 01 18:57:36 did i say it made any sense? Jul 01 18:58:13 i think it's just the challenge of getting new uboot/kernel on the damn thing Jul 01 18:58:55 probably still has better ethernet performance than most arm boards... Jul 01 19:00:44 <_av500_> nerdboy: it probybly has no ethernet at all Jul 01 19:01:03 it does Jul 01 19:01:53 * nerdboy has a mipsbook (alpha 400) Jul 01 19:03:02 <_av500_> oh god that POC Jul 01 19:03:32 <_av500_> aka the "case mold that refused to die" Jul 01 19:03:42 <_av500_> that exists in about every cpu arch ever Jul 01 19:03:50 <_av500_> always the same case Jul 01 19:04:28 wifi is welded to usb bus but ethernet is pretty solid Jul 01 19:04:46 <_av500_> https://en.wikipedia.org/wiki/Skytone_Alpha-400#Other_similar_devices_by_Exon.2FSkytone Jul 01 19:05:08 shit, i have embedded ppc from 2006 with full GB ethernet Jul 01 19:05:20 arm kinda sucks that way... Jul 01 19:05:26 <_av500_> I threw mine away Jul 01 19:05:29 <_av500_> battery was dead Jul 01 19:05:38 still good battery here Jul 01 19:05:47 <_av500_> and it was utter useless anyway Jul 01 19:06:12 <_av500_> some guy gave me $70 for an original EEE PC Jul 01 19:06:18 <_av500_> last year Jul 01 19:06:48 it was cheap and somewhat hackable before rpis were available Jul 01 19:07:10 * nerdboy also has dingoo with jz SoC Jul 01 19:07:27 that one is more interesting... Jul 01 19:07:52 doesn't mean it's *not* utter crap Jul 01 19:07:59 the mipsbook Jul 01 19:08:22 _av500_: any hints for azizulhakim ? i am kinda unable to help him in the page fault issue Jul 01 19:08:29 * nerdboy gave 4G eeepc to mother-in-law Jul 01 19:08:48 damn thing finally died a couple weeks ago Jul 01 19:09:24 <_av500_> vvu: he says the number of bytes transfered matches the video pixel data Jul 01 19:09:28 <_av500_> so that part looks good to me Jul 01 19:09:36 <_av500_> I still want the raw transfer speed numbers Jul 01 19:09:49 <_av500_> so FB involved, just pump data as fast as you can over ADK Jul 01 19:10:35 somewhere is a bottleneck Jul 01 22:13:19 shubhangi: The overlay requires a few changes. Jul 01 22:14:22 The overlay applied okay on the vanilla, now testing against my compiled kernel Jul 01 22:15:35 Look here: https://gist.github.com/abhishek-kakkar/63c8cf007c892bf7e476 Jul 01 22:34:30 shubhangi: Could you quickly upload the PRU binaries? Jul 01 22:37:47 [ 52.687522] pruss-rproc 4a300000.pruss: platform data (reset configuration information) missing Jul 01 22:38:10 * nerdboy gives Flecktones an "A" for their midterm **** ENDING LOGGING AT Thu Jul 02 02:59:59 2015