**** BEGIN LOGGING AT Wed Mar 25 02:59:57 2020 Mar 25 04:17:00 vedant16: The API project had been completed last year itself by pratimugale. Mar 25 07:00:46 @abhishek_:matrix.org: Hey, would you clarify what needs to be done for the problem idea then, if the major goal mentioned is already completed? Mar 25 07:02:22 @abhishek_:matrix.org: Hey, I had 4 doubts, i listed them, will you pleas3 help me out with them. Mar 25 07:02:22 Regards, Vedant. Mar 25 10:07:01 Hello , i am Alaa Emad , i have a good experience with embedded software and i interested in working with beaglebones project Mar 25 10:52:06 i interested in Mar 25 10:52:06 Cape compatibility layer for BeagleBone Black and BeagleBone AI and mikroBus driver Mar 25 10:52:54 i need help in timeline please Mar 25 10:53:46 and create proposal i used this template https://elinux.org/BeagleBoard/GSoC/2020ProposalTemplate Mar 25 10:53:49 ?right Mar 25 14:17:55 Hey Abhishek_ , could you specify the scope of the project idea: Port am335x_pru_package to remoteproc, apparently some part of that seems to be implemented already. Regards, Vedant Mar 25 14:31:22 We have a meeting every Wednesday, at about 10 IST... isn't it @lorforlinux:matrix.org Mar 25 14:31:22 @vedant16:matrix.org should surely attend Mar 25 14:32:26 pradan: Sure, meeting is here? Thanks for informing 🙂 Mar 25 14:32:51 * pradan: Sure, meeting is here or on google groups? Thanks for informing 🙂 Mar 25 14:32:58 Yup Mar 25 14:33:26 Here and all mentors will be there too Mar 25 14:35:47 Cool ! Mar 25 15:50:29 vedant16: Apologies I haven't been as responsive and I haven't been able to check in here often. Mar 25 15:55:14 vedant16: So, the issues with the PRU and this happens every year, is that, there's kernel updates and there's remoteproc. pratimugale did good work last year, but it hasn't been picked up by the greater community and besides his examples, there's no other project I know of that uses those bindings. Mar 25 16:15:19 vedant16: I'd recommend you give PRUSpeak that jkridner highlighted / Python for PRU / "Create PRU based soft-peripheral example" ideas a shot instead. Those ideas are not as well defined but an opportunity for you to define how you would like the experience to be. Mar 25 16:17:49 Abhishek_: Actually I just completed the proposal, I read up a bit about PRUSpeak, seems interesting but isn't it implemented already Mar 25 16:18:42 https://elinux.org/BeagleBoard/GSoC/2020Proposal/VedantParanjape here's the proposal Mar 25 16:18:50 PRUSpeak was implemented when I was a GSoC student myself, back in 2014 :) Mar 25 16:19:55 I had a look, a guy named deepak did it na? Mar 25 16:20:51 Have you heard of micropython? Mar 25 16:20:57 Hi Abhishek_ , hope you're doing good. Mar 25 16:20:57 Just wanted to thank you again and let you know working with you has helped me a lot since GSoC. Mar 25 16:23:29 sorry to interrupt Mar 25 16:24:16 Hi pratimugale, good to know :) Mar 25 16:25:26 I am well. These are challenging times, hope you are safe too. Mar 25 16:26:11 Yeah, but isn't PRU low on storage to run micropython Mar 25 16:27:08 There's 8KB code, 8KB data per PRU and 12KB shared RAM. Mar 25 16:27:34 I haven't checked how low micropython can go but if it's possible, it's worth giving a shot Mar 25 16:27:38 I have tried micropython on ESP32 Mar 25 16:28:09 You mean implementing it on PRU? Mar 25 16:28:37 Yeah Mar 25 16:29:13 > Regarding RAM usage, MicroPython can start up with 2KB of heap. Adding stack and required static memory, a 4KB microcontroller could start a MicroPython, but hardly could go further than interpreting simple expressions. Thus, 8KB is minimal amount to run simple scripts. As Python is interpreted high-level language, the more memory you have, the more capable applications you can run. The reference MicroPython board, Mar 25 16:29:13 PyBoard, has 128KB of RAM. Mar 25 16:29:13 can someone call today and tell it to come back tomorrow? Mar 25 16:29:41 jkridner: You mean the GSoC meeting? Mar 25 16:29:49 I don't get the relevance Mar 25 16:30:42 https://github.com/micropython/micropython/wiki/FAQ Abhishek_ I think it's not possible, standard minimal configuration needs 80kb Mar 25 16:30:55 Abhishek_: Smallest I've been able to build micropython using pru-gcc so far is about 40kB. :-( Mar 25 16:31:12 I think it needs some kind of paging solution to work. Mar 25 16:31:23 it might be possible to limit it a bit more. Mar 25 16:31:57 is it really possible in any way with 4kB? Mar 25 16:32:11 even running simple scripts could be interesting. Mar 25 16:32:31 jkridner: their FAQ page says, can run on 8kb, but only be able to evaluate basic codes Mar 25 16:32:59 I'd think some way of leaving the REPL on ARM and only running the bytecode on PRU would be ideal. Mar 25 16:33:43 vedant16: that would be interesting to try. Mar 25 16:33:47 Yep, or maybe a small JIT based runtime Mar 25 16:33:52 * jkridner[m] is feeling most overwhelmed today. LESS THAN A WEEK TO FINAL PROPOSALS. Mar 25 16:33:56 Ok inshort convert Python to assembly you mean? Mar 25 16:34:12 * Ok inshort convert Python to a special assembly you mean? Mar 25 16:34:38 vedant16: Yes, bytecode. Mar 25 16:34:56 With a caveat Mar 25 16:34:56 >128K ROM/8K RAM is the recommended minimum configuration for doing something "real". You can easily go below (or above) that Mar 25 16:34:57 I think python gets compiled down to something that is a mix of machinecode and bytecode. Mar 25 16:35:01 machinecode == native instructions Mar 25 16:35:09 bytecode == a reference into the runtime. Mar 25 16:35:11 jkridner: Abhishek_ I would love to work on such a nice project, but it's not possible to write a proposal for that in a week Mar 25 16:35:19 but, I'm not very familiar with the Python runtime. Mar 25 16:36:13 128K ROM is the big trick... that indicates program code.... you'd have to write a pager to bring in that much code as the PRU doesn't have direct program access to anything that large. Mar 25 16:36:56 What do you mean by a pager? Mar 25 16:37:26 something that would swap in new chuncks of code.... Mar 25 16:37:39 jkridner: I read up, python code is compiled into bytecode which is run on python virtual machin Mar 25 16:37:46 * jkridner: I read up, python code is compiled into bytecode which is run on python virtual machine Mar 25 16:37:52 vedant16: effectively meaning that only a fraction of the ROM code is in PRU at any given moment, and you cleverly swap chunks in and out Mar 25 16:37:54 you'd have to add a wrapper around any longjump calls to load the appropriate code into memory. Mar 25 16:38:06 Ohhh Mar 25 16:38:47 But there's needs to be a service which will call which fragment of memory PRU needs Mar 25 16:41:24 Are all the mentors online ? Mar 25 16:42:40 guess we should do a roll call Mar 25 16:43:39 HI Mar 25 16:43:44 * Hi Mar 25 16:44:06 * Hi Mar 25 16:44:25 vedant16: Check this out - http://www.aosabook.org/en/500L/a-python-interpreter-written-in-python.html Mar 25 16:45:00 This is a bytecode interpreter in Python, but I guess you can implement that in C? Mar 25 16:45:23 🙋🏽‍♂️ Mar 25 16:45:49 alaa-emad: what is the link to the new proposal you made? Mar 25 16:48:31 I'll take a look Mar 25 16:49:00 jkridner: me too Mar 25 16:49:00 so, I count as here: Abhishek_ cwicks hendersa pradan lorforlinux Mar 25 16:49:00 ds2: are you around today? Mar 25 16:49:01 I got a better idea, we write plain python and convert that directly to PRU loadable assembly Mar 25 16:49:01 ymdatta: you around? Mar 25 16:49:18 * jkridner[m] did not get very far on https://elinux.org/Mikrobus yesterday Mar 25 16:50:06 jkridner: Abhishek_ I have completed my proposal, would you please take a look? Mar 25 16:50:16 lorforlinux: if you *reference* aliases, then it will *add* new members and overwrite members if you use the same name. Mar 25 16:50:42 I'm not sure what would happen if you simply created new entries and I think you want to generally avoid that. Mar 25 16:51:47 https://elinux.org/BeagleBoard/GSoC/2020Proposal/VedantParanjape proposal Mar 25 16:52:21 lorforlinux: I hadn't really thought about the aliases for the peripherals compatible in the device tree, but thinking about it now, I would just make a new namespace for the aliases.... Mar 25 16:52:48 something like cape-i2c1a or some such. Mar 25 16:52:49 zmatt on #beagle ususally has better ideas on how to do such things. Mar 25 16:53:41 stomping on the i2c4, etc. names feels like a bad plan. Mar 25 16:53:55 for the symlinks, we create a /dev/bone directory to hold them. Mar 25 16:54:28 so, maybe bone-i2c1? Mar 25 16:55:45 vedant16: is zeekhuge around this year? I think he said he couldn't mentor this year. Mar 25 16:56:52 vedant16: where does this GUI show up? Can similar integration be done in the Cloud9 IDE? Mar 25 16:57:41 * jkridner[m] wishes we could have someone look at replacing Cloud9 IDE with Theia. Mar 25 16:57:57 I haven't seen ZeekHuge around this year so far Mar 25 16:58:31 jkridner: His name is there list, but he's not here Mar 25 16:59:13 I have been trying to contact @freenode_ds2:matrix.org since the last meeting but unfortunately I haven't been able to :/ Mar 25 16:59:44 I created it using Qt Mar 25 17:00:22 ds2 is around right now Mar 25 17:00:26 can we get some of the pru_support_package examples to include the latest from TI as well as to be somehow introduced in https://github.com/beagleboard/cloud9-examples ? Mar 25 17:01:25 > ds2 is around right now Mar 25 17:01:25 Hello Sir @ds2 Mar 25 17:01:27 also, PRU Cookbook: https://beagleboard.org/pru <-- I feel like it attempts to be our best starting point for getting into using the PRU. Mar 25 17:08:57 ds2 cwicks : the tflite acceleration seems to be getting close on the Debian images. Mar 25 17:09:00 rcn-ee did a new image last night with a bunch of TI modules updated. Mar 25 17:09:05 https://git.ti.com/cgit/apps/tensorflow-lite-examples/ Mar 25 17:09:07 https://rcn-ee.net/rootfs/bb.org/testing/2020-03-24/stretch-iot-tidl/ Mar 25 17:09:12 vedant16: For example - Implementing a tool to convert PASM binaries to ELF binaries, accepted by remoteproc - you just use the TI PRU compiler instead of PASM Mar 25 17:09:16 hello everyone. I just made a proposal: https://elinux.org/BeagleBoard/GSoC/MediaIpStreaming Feedback is really appreciated :) Mar 25 17:09:18 lorforlinux: I think there is specific syntax for aliases you can use that uses an '= Mar 25 17:09:20 * lorforlinux: I think there is specific syntax for aliases you can use that uses an '=' assignment. Mar 25 17:09:31 riot/freenode bridge has gotten really slow again. Mar 25 17:09:36 hi nwan ! Mar 25 17:09:36 hi rma10 Mar 25 17:09:43 lorforlinux: that's why you say what you are going to do publicly! we are all learning. Mar 25 17:09:44 ah perfect, so connection is now working. I had some problems dialing in ... Mar 25 17:10:05 nwan: I saw you joined freenode and then dropped. I've only recommended riot as it provides phone apps, logs, etc. I'm not loving it. Mar 25 17:10:15 I read up that community still uses PASM, and it is needed for such people. Mar 25 17:10:36 ymdatta: can you help me with the https://elinux.org/Mikrobus page and reference it in your proposal? Mar 25 17:12:46 vedant16: Yes, PASM is legacy that needs to be maintained. But you have TI's PRU C Compiler and there's also the GCC compiler for PRUs Mar 25 17:12:58 jkridner once mentioned he'd like to see the community shift to PRU GCC. Mar 25 17:13:06 jkridner Everything fine. I also posted my proposal to the google mailing list: https://groups.google.com/forum/#!topic/beagleboard-gsoc/PN8vVcn_BCA, with a small introduction of myself Mar 25 17:14:06 Abhishek_: indeed. pru-gcc seems to be set for the gcc mainline in version 10. Mar 25 17:14:14 it includes an assembler and inline assembly as well. Mar 25 17:14:28 But it is mentioned in the goals of the problem idea, Do you suggest to remove it? Mar 25 17:14:48 if pasm is really small and maintainable, I think a kernel module with pruspeak macros could be cool. Mar 25 17:15:34 goals are always negotiable with potential mentors. students should be looking to attract mentors right now. Mar 25 17:15:44 Abhishek_: Should i also add RPMSG and debugfs functions in implemention plan, and mmap thing to modify registers? Mar 25 17:16:02 the selection process will involve mentors saying that they believe the proposals are valuable and can be executed successfully. Mar 25 17:17:00 are there any students lurking that aren't actively engaging mentors in this channel as we speak? Mar 25 17:17:46 For some time... Yes, me Mar 25 17:18:12 I agree, I thought we have to stick to the given goals. I'll surely update my proposal accordingly. Thankyou Mar 25 17:19:17 vedant16: The problem statement has been carried forward for maybe more than a year, information was a little out of date so I'm afraid it wasn't the most optimal one for you to pick because of overlap with pratimugale's project. If you can resolve the overlap, understand what the needs are at this date from jkridner and other people who have been involved with the PRUs of late (I have been a little out of touch Mar 25 17:19:17 recently) and restructure your proposal accordingly, I will re-review. Mar 25 17:19:32 jkridner: currently I am not actively talking to a mentor, I think rma10 is not available at the moment Mar 25 17:19:56 I know the proposal are prone to getting rejected completely... Mar 25 17:19:56 But I still haven't got a "completely rejected" tag if that's what is not attracting my mentors right now Mar 25 17:19:59 rma10 was active around this time Mar 25 17:20:47 pradan: are you looking at the tflite stuff I mentioned earlier. would it be at all helpful in your proposal? Mar 25 17:20:58 pradan: aren't you primarily looking at YOLO? Mar 25 17:21:12 Cool, I will get on this. Mar 25 17:21:19 pradan: has ds2 proposed any alternate path if you are stuck in making a viable proposal? Mar 25 17:22:55 yes I am looking at it... but I am trying to stick with other aspects of TIDL that consumed the last few weeks to formulate Mar 25 17:23:08 Abhishek_ vedant16 : one immediate problem that needs fixing in the cloud9-examples that could be a good test case for ability to attack the PRU API.... Mar 25 17:23:08 yes ! Mar 25 17:24:00 https://github.com/beagleboard/cloud9-examples/blob/v2020.01/PocketBeagle/TechLab/.challenges/analogIn.pru0.c makes the silly mistake of using StarterWare.... Mar 25 17:24:12 which means it won't build in the latest images. Mar 25 17:24:13 jkridner: Since the porting pru to remoteproc idea overlaps a lot with pratim's project. I would like to know what are the needs for the PRU? Mar 25 17:25:30 Yes, he asked me to drop the idea of re-training the model... which I did. I explained the alternative method to him in an update here, on Saturday. Besides that, he didn't object against any other thing... Mar 25 17:25:49 but I believe the pru_support_package includes definitions for the ADC. Mar 25 17:26:00 vedant16: One of the things I see is the need of good **structured** training material for the PRU that is kept up to date with the latest images. It's so often that there are examples available but they won't compile on latest kernels, the ABI changes every kernel version and so on. Mar 25 17:26:46 sorry a basic doubt, whats starterware? Mar 25 17:27:26 StarterWare is bare metal SDK for the AM335x, think of it running code on AM335x without the linux kernel Mar 25 17:27:34 Training material as in a programming guide you mean? Mar 25 17:28:08 * jkridner[m] just realized /usr/lib/ti/pru-software-support-package is NOT https://github.com/beagleboard/am335x_pru_package Mar 25 17:28:23 * jkridner[m] hates having all these stale bits floating around. Mar 25 17:28:26 Ohhh, So reimplementing examples with userspace API is something that needs to be done/ Mar 25 17:28:31 Yes, the PRU cookbook is probably the best resource on the PRUs so far. Mar 25 17:28:36 > <@abhishek_:matrix.org> StarterWare is bare metal SDK for the AM335x, think of it running code on AM335x without the linux kernel Mar 25 17:28:36 * Ohhh, So reimplementing examples with userspace API is something that needs to be done? Mar 25 17:28:44 jkridner: Do you maybe have some feedback on my proposal and how I coud improve it? Mar 25 17:29:12 perhaps it is a direct build of https://git.ti.com/cgit/pru-software-support-package/pru-software-support-package/ ? Mar 25 17:29:31 It seems so Mar 25 17:29:39 looks like probably, yeah Mar 25 17:29:51 https://groups.google.com/forum/#!msg/beagleboard/cYHCN3GWw_E/VraPc0YwCQAJ Mar 25 17:30:14 I read through this, why does TJF call remoteproc security risk? Mar 25 17:30:16 vedant16: the PRU can access peripherals like the ARM can.... StarterWare was a (bad) example of how the ARM could use the peripherals natively and thus suitable for accessing them from the PRU. Mar 25 17:30:32 That thread gave a interesting perspective though Mar 25 17:31:08 vedant16 Abhishek_ : I think any effort to update our am335x_pru_package should include merging in the latest from that TI tree. Mar 25 17:31:08 :-/ Mar 25 17:31:41 and perhaps shifting to gcc rather than pasm. I'm not sure who all is still using that old repo... it used to be a bunch of projects. Mar 25 17:32:17 nwan: I'll look now. Mar 25 17:32:54 jkridner: thank you :) Mar 25 17:34:34 pradan: can you try logging directly into webchat.freenode.net/?channel=beagle-gsoc to try to engage ds2 The matrix bridge is causing major issues. Mar 25 17:35:09 What all can be done for PRUSpeak other than that python thing Mar 25 17:36:04 nwan: do you have any local resources you can engage if you get stuck? Mar 25 17:36:35 vedant16: Guess you got some data points now to look into. Once a day I'll look and catch up your progress so keep posting here. Try to answer as many questions as you have yourself as possible. Mar 25 17:37:43 jkridner: not until now, but I planned doing some further research on which resources could be helpfull Mar 25 17:37:45 nwan: do you think HDMI audio output is also suitable for people who don't have the CTAG Face 2|4 cape? Mar 25 17:38:04 Sure, i'll look up the perspective of running a pseudo-interpreter on PRU and make a new proposal for that Mar 25 17:38:40 nwan: do you need any time-stamping the the MAC layer of the Ethernet to help with real-time audio distribution? Mar 25 17:38:56 vedant16: The larger goal is to make the PRU more accessible at the entry level Mar 25 17:39:00 How do i submit my proposal on wiki to gsoc site? Mar 25 17:39:11 elinux wiki* Mar 25 17:39:12 Export a PDF and upload it Mar 25 17:39:23 nwan: have you ever done a mainline kernel patch submission before? do you have any references on how to get started with one? Mar 25 17:40:09 * jkridner[m] would like to see at least a partial mainline patch submission in time for the 2nd evaluation. Mar 25 17:40:27 vedant16: Currently interfacing with the PRU requires a lot of makefile manipulation, kernel drivers and stuff. There's no working around that for more advanced applications but if you can get something simple up and running quickly with a REPL, that'd be great. Mar 25 17:41:25 jkridner: havent done a mainline kernel patch submission till now. But I already collected some references to get started on it Mar 25 17:41:43 @jkridne Mar 25 17:41:53 So REPL will handle all that mess, and abstract the interface to the user Mar 25 17:41:56 REPL - Read-Eval-Print Loop, something like an interactive shell Mar 25 17:42:02 I think engaging the community now on the SPL/device-tree modifications for the cape would be of tremendous benefit to uncover any potential challenges. testing can occur when coding starts, but I'd like to see some kind of software-enabled proposal on how the interface is configured. Mar 25 17:42:13 vedant16: yes Mar 25 17:42:15 nwan: I'd like to see those references in the proposal. Mar 25 17:42:50 * jkridner[m] thinks we should start asking for kernel patch submissions to our list for future GSoC pre-work requirements. Mar 25 17:43:09 @all - I got to leave now. vedant16 - keep working and posting your progress on IRC. Mar 25 17:43:44 Abhishek_: Bye, goodnight. Thanks for the help !😄 Mar 25 17:43:49 nwan: if you can also give me a bit more background on what an AVB stack does and how it would be used in the proposal, that'd help me. Mar 25 17:43:50 * @jkridner: I'll hdmi out is also possible Mar 25 17:44:19 nwan: thanks for making the proposal and it is looking like you are otherwise nicely headed in the right direction. Mar 25 17:44:32 * jkridner[m] waves to Abhishek_ Mar 25 17:44:56 * Abhishek_ waves back Mar 25 17:45:00 jkridner: avb is a protocol stack which can transmit a stream of media channels using ethernet Mar 25 17:46:28 I have 8085 in my engineering course, isn't PRU quite similar in memory space and ram to a 8085? Mar 25 17:46:29 jkridner: it expecially handles synchronicity between different channels which is extremely important for professional audio/video applications Mar 25 17:46:59 nwan: I get that, but it doesn't highlight a practical example for me. also, I want it in the proposal/ Mar 25 17:48:38 jkridner: pracitcal example would be synchronization between video and audio stream, so that for example a speaking persons audio is not offset to the picture you can see Mar 25 17:49:02 jkridner: but i will tackle this in my proposal. Thank you :) Mar 25 17:49:41 * jkridner[m] needs to take off too. Please use https://calendly.com/jkridner if you need to schedule a time with me. Mar 25 17:51:10 > * <@jkridner:matrix.org> needs to take off too. Please use https://calendly.com/jkridner if you need to schedule a time with me. Mar 25 17:51:10 That's a really cool thing Mar 25 17:51:32 here you are the first one but i didn't complete it : https://docs.google.com/document/d/1r4U6UfHnVZMPRbxsw5Fw3CO-SiKsvIqlRWB1GZ8vNzQ/edit?usp=sharing **** ENDING LOGGING AT Thu Mar 26 03:04:25 2020