**** BEGIN LOGGING AT Thu Jun 19 02:59:59 2014 Jun 19 05:35:31 morning Jun 19 05:47:04 Morning :) Jun 19 06:15:34 <_av500_> praveendath92: good mirning Jun 19 06:15:36 <_av500_> morning even Jun 19 06:16:10 <_av500_> praveendath92: I am away until sunday Jun 19 06:16:18 <_av500_> please add the missing reports Jun 19 06:20:35 Week 5? Jun 19 06:21:18 The week 4 report is actually week 5's and week 3,4 I was away. Jun 19 06:21:58 _av500_: I found a slightly better way to debug now. So, this week status report should be good. Jun 19 06:24:21 <_av500_> praveendath92: I dont really care for the numbering :) Jun 19 06:24:58 Where are going BTW? Jun 19 06:25:28 <_av500_> weekend trip Jun 19 06:25:47 The ADB can't be monitored while in ADK but the logs will be there if use ADB+ADK mode and I can use them. Jun 19 06:25:56 Have a great trip :) Jun 19 06:40:38 <_av500_> thanks Jun 19 06:55:00 panto: how do I expose a sysfs attribute, a read on which would block until sampling is completed? Jun 19 06:55:19 (the most appropriate way I mean) Jun 19 07:39:32 good morning Jun 19 07:39:45 hi Jun 19 07:40:11 Abhishek_, just expose the attribute and have it wait until sampling is complete Jun 19 07:40:20 use a wait queue Jun 19 07:40:54 I already have one wait queue for waking up reads, can it be reused or I could add another? Jun 19 07:42:45 If a wait queue is waken up, say n times before I wait on it n times, would the n times be woken up immediately? Jun 19 07:43:13 there's a condition check Jun 19 07:43:29 so you can reuse the wait queue Jun 19 07:43:43 you might get extra wakeups, but that might not be too bad Jun 19 07:43:54 if the condition is true, there is no waiting, right? Jun 19 07:56:14 [My code maintains a circularly linked list of the n buffers allocated, each buffer has a state (u16) which is marked STATE_MAPPED and STATE_UNMAPPED alternately, the read() function waits for a queue wakeup and then starts reading the buffer, once completed, maps it back and moves on to the next buffer. I would perhaps need to avoid a race condition, but I Jun 19 07:56:14 think a race condition could only occur if there's an overrun (i.e. a currently being read buffer would get written to. I want this condition to be reported in the kernel logs, and still thinking how to implement this in a sound manner)] Jun 19 08:51:25 Abhishek_: ping Jun 19 08:51:42 pong praveendath92 Jun 19 08:52:04 Need some help with usb control transfer. Jun 19 08:52:12 You worked with that? Jun 19 08:52:42 yep, but I guess that was a long time ago from userspace. Jun 19 08:52:58 Oh. Not from kernelspace? Jun 19 08:53:08 nope Jun 19 08:53:14 Because my issue is specific to kernel space :/ Jun 19 08:53:23 what is it? Jun 19 08:54:32 I'm doing a control transfer and I get a success. I mean the number of bytes transferred are correct but on the other end I see Chinese, garbled text and some yeah some Chinese characters too. Jun 19 08:55:00 https://github.com/praveendath92/bard-linux/blob/master/adk.h#L45 Jun 19 08:55:00 encoding issue (UTF-8 vs ASCII)? Jun 19 08:55:22 the descriptors must use Unicode characters Jun 19 08:55:26 Hmm. I think so too. No idea how to do all this from kernel space. Jun 19 08:55:43 Just add W in front of the string Jun 19 08:55:56 or make a uint16_t array of there strings Jun 19 08:56:26 W in front of strings make it? Jun 19 08:56:31 I'm not sure of that W thing, but there's some GCC extension to convert a string to wchar_t Jun 19 08:56:57 ah, prefix it with L Jun 19 08:57:10 I'm not using GCC but yeah I could try on these lines. Jun 19 08:57:56 which compiler is that? Jun 19 08:58:37 Building kernel modules. Jun 19 08:58:42 It uses gcc ? Jun 19 08:58:47 yep :) Jun 19 08:59:02 Oh then yes :) Jun 19 08:59:11 prefix your strings with L then Jun 19 08:59:12 Never had to worry. Just make :D Jun 19 08:59:23 Will try that right now. Jun 19 09:05:09 * Abhishek_ wonders though how https://github.com/praveendath92/bard-linux/blob/master/samples/simplectrl.c works if UTF-8 strings are required Jun 19 09:06:41 Not sure Abhishek_ The issue is when I'm sending to a different device. Jun 19 09:07:12 praveendath92: what's on the other end? Jun 19 09:07:32 Android device. Jun 19 09:07:58 could you post a shot of that garbled text? Jun 19 09:12:32 Sure. Jun 19 09:12:48 UsbAccessory[mManufacturer=恑㫥칠2瀁, mModel=׃8⪢–תg Jun 19 09:13:25 Abhishek_: I tried with L in the begging but I think it didn't change anything. Jun 19 09:15:27 still the same garbled text? Jun 19 09:16:38 strange, that goes to 3 bytes per character in hexdump Jun 19 09:17:27 Actually my debugging tool isn't good. Jun 19 09:17:32 So, I need to verify again. Jun 19 09:19:10 why so? Jun 19 09:26:37 vvu: ADB doesn't look like it's logging all logs. Jun 19 09:27:14 how many logs would adb log if adb could log logs? Jun 19 09:27:43 Right now I'm looking at 5k+ lines log. Jun 19 09:28:05 It's a circular buffer panto Jun 19 09:28:26 praveendath92, whoosh! Jun 19 09:28:50 http://scientopia.org/blogs/scicurious/2012/10/05/friday-weird-science-how-much-wood-could-a-woodchuck-chuck/ Jun 19 09:29:47 By not logging all logs I meant few of the expect log.D() messages are missing. Jun 19 09:29:51 lol Jun 19 09:30:39 Lol. Someone worked on that! Jun 19 09:31:02 * Abhishek_ should do more specific benchmarks with BeagleLogic then :P Jun 19 09:32:45 Abhishek_: How did you get to specific benchmarks from that? Jun 19 09:32:53 An independent thought? Jun 19 09:33:10 yep :P Jun 19 09:43:13 Abhishek_: Now I can say confidently. The issue persists. Jun 19 09:43:29 On the bright side. My debugging tools aren't bad. Jun 19 09:43:46 vvu: ADB is logging all values. Jun 19 09:44:10 I didn't load the latest version into device and got confused. Jun 19 10:08:39 so it is working as assumed ? Jun 19 10:08:41 get good data ? Jun 19 10:11:27 mranostay [if you're around]: Is it a bad idea to write into PRU SRAM while it's not halted? Jun 19 10:13:59 Abhishek_, I had problems when I tried to do that Jun 19 10:14:08 I think arbitration is broken Jun 19 10:14:52 what the problem specifically? Jun 19 10:22:56 when I accessed the DRAM of the PRU while it was running I was getting corrupted data Jun 19 10:24:29 panto: I just write to the PRU DRAM the buffer addresses, that is done only once per session. At the moment I am not reading anything from the PRU [the interrupt counter thing we discussed early is not implemented atm] Jun 19 10:24:56 dunno, it just didn't work for me Jun 19 10:25:37 panto: Ah I too recall, reading interrupt count from the SRAM wasn't working for me either Jun 19 10:26:00 that was a week ago I recall Jun 19 10:28:33 I was getting random garbage in kernel logs, no interrupt count Jun 19 10:31:55 hmm, at the moment, the kernel driver tries to look for "magic bytes" in the PRU SRAM when it starts to ensure correct firmware. It works right now, but there have been instances when it didn't work and I had to reupload firmware and reload the kernel driver (which fixes that - I guess a softreset does it). Jun 19 10:33:08 thanks for the heads up, I'll probably remove that magic byte checking. Jun 19 10:33:15 bb in an hour now Jun 19 12:01:03 re Jun 19 12:25:52 hello Abhishek_ Jun 19 12:33:02 panto : based on yesterdays discussion and the video, I got wondering that why are we executing the interpreter on the PRU? [no one can write highly IO intensive botspeak program that has high accuracy or realtime features! ] In fact most of the headache is with the frontend part which the user will be using. Jun 19 12:33:28 why PRU > execution on ARM Jun 19 12:33:36 as in the RaspberryPI Jun 19 12:34:03 karki, botspeak is but the beginning Jun 19 12:34:52 the point is an abstracted interface for operating pins & interfaces on a low jitter cpu Jun 19 12:38:39 panto : I seem to be getting entangled in the design of the botspeak specific stuff (that is kinda bugging me) , rather than exploring functionality on the PRU . (I'm adding server support now) Jun 19 12:39:06 not everything is interesting Jun 19 12:39:11 but it's part of the whole Jun 19 12:39:21 somethings don't make sense to me :/ Jun 19 12:39:36 like return value for each BS instruction Jun 19 12:39:52 I don't get why that has to be done Jun 19 12:45:46 it is not set in stone Jun 19 12:46:04 if you think it's no good make a note and support your 'why' Jun 19 12:46:17 ok :) Jun 19 13:33:32 panto: How can I make the beaglelogic attributes appear as /sys/devices/beaglelogic instead of /sys/devices/virtual/misc/beaglelogic ? Jun 19 13:34:00 why would you want to do that? Jun 19 13:34:46 just a preference, nothing else. I have no issues but thought if it might be possible... Jun 19 14:00:10 panto: could a n-count (n = number of buffers) semaphores instead of waitqueues be a better approach for the IRQ & read function synchronization? Jun 19 14:00:29 no Jun 19 14:00:40 semaphores are tricky to use in practice Jun 19 14:00:46 although academics love them Jun 19 15:47:41 alexanderhiam: there’s a meeting today in 1 hr? just confirming. Jun 19 15:47:57 or is it in 15min Jun 19 15:52:30 rseethamraju: I think I put in in google calendar wrong, we said the same time as the Tuesday meeting so an hour Jun 19 15:52:41 ok Jun 19 15:54:21 alexanderhiam: I added the functions to spi.py and commited them. It gave the no of deletions and additions but when I push it, it says everything is up to date. Jun 19 15:58:52 rseethamraju: did you do the full 'git push origin spi' or just 'git push'? Jun 19 15:59:14 git push origin spi Jun 19 16:00:06 rseethamraju: I see a push from you an hour ago, you did more since then? Jun 19 16:00:15 yes Jun 19 16:01:40 what I pushed was only the stuff that I pulled from your changes we did on tuesday Jun 19 16:02:51 does git log show the new commits? Jun 19 16:05:46 alexanderhiam: yes it does Jun 19 16:10:33 rseethamraju: make sure 'git remote show origin' prints the url for your repo and 'git remote show origin' shows 'spi pushes to spi' Jun 19 16:13:33 alexanderhiam: yes it shows both Jun 19 16:14:38 rseethamraju: does git status show that you're ahead of 'origin/spi'? Jun 19 16:16:43 alexanderhiam: it says # Not currently on any branch. Jun 19 16:19:03 alexanderhiam: oh! I got the problem and I think I know how to fix it Jun 19 16:20:28 yeah, if you google that I think the fix will be to checkout a new branch then merge that back into spi Jun 20 00:35:42 * Abhishek__ checks in Jun 20 02:35:03 http://www.linux-poetry.com/ **** ENDING LOGGING AT Fri Jun 20 03:00:00 2014