Re: exFAT or other large options for file system storage.
If you search exfat implementation: FatFS from http://elm-chan.org/fsw/ff/00index_e.html is a good choice, since it's: 1. has a better friend license than GPL/LGPL 2. designed for small embedded device natively BTW, if the community wants another fat implementation, we could upstream NuttX FS wrapper, which has been used in the product for several years. On Sat, Mar 23, 2024 at 3:51 AM Tomek CEDRO wrote: > On Fri, Mar 22, 2024 at 7:54 PM Alan C. Assis wrote: > > Hi Dmitri, > > But I think even an open-source implementation will end-up paying > > royalties, unless you are member of OIN: > > https://www.paragon-software.com/exfat-license/ > > Here is a good page on exFAT along with Legal Status and List of > Implementations sections: > > https://en.wikipedia.org/wiki/ExFAT > > Looks like Paragon Software is a proprietary implementation too. > > > OIN membership is something else and it seems free: > > https://openinventionnetwork.com/our-members/funding-members-and-licensees/ > > According to wikipedia Apache is covered by OIN, not sure if this is > about web server or all of the Apache Foundation projects? Maybe this > is the way to get exFAT in NuttX? > > https://en.wikipedia.org/wiki/Open_Invention_Network > > > > So, maybe you could think about some alternatives, like porting EXT3 to > > NuttX (but that is not an easy task, since even FreeBSD doesn't support > > EXT3). > > On FreeBSD we have lots of filesystems supported by FUSE and it works > pretty well now. Its not a part of the system but user can install it > from ports/packages. This is the implementation in use (GNU license): > > https://github.com/relan/exfat > > Here is a detailed filesystem comparison page: > > https://en.wikipedia.org/wiki/Comparison_of_file_systems > > Before ZFS was introduced to FreeBSD we used UFS(2) (Unix File System) > > https://en.wikipedia.org/wiki/Unix_File_System > > > The most universal and open filesystem is UDF (POSIX compliant) but it > varies in implementations and versions and no write support for all of > the versions so its kinda messy and platform specific. It was (and > probably still is) not really a good multiplatform replacement. I > tried using it long time ago with FreeBSD, Linux and Windows as common > filesystem on data partition for all of the OS on a single machine. > But I sticked to EXT2. Now I simply use ZFS on FreeBSD. But ZFS even > nowadays is still not a solution to work with a single data partition > on various OS and definitely not an embedded solution. People simply > used separate machine with NAS for storage over NFS. Idea for > universal filesystem seems dead :-( > > UDF is widely used nowadays on top of ISO9660 to burn optical disks > with large files (i.e. double layer DVD or BluRay). All systems can > read it. Not all can write it on the fly (it is usually used to create > static ISO+UDF image). But in theory it seems better than exFAT! > > https://en.wikipedia.org/wiki/Universal_Disk_Format > > I found some old GSoC 2012 page on UDF implementation in FreeBSD > (based on NetBSD code): > > https://wiki.freebsd.org/SummerOfCode2012/UDFImplementation > > > Having a modern universal filesystem support in NuttX seems important. > > Maybe UDF 2.60 implementation could happen? > > exFAT seems more popular. Maybe Apache could help here over the OIN? > And most of the existing exFAT implementations are covered by GNU > license so that may be no go for some companies / projects. > > And the standard question who is willing to invest time / cash for > that implementation? > > > UDF has some interesting features that may beneficial for instance > when streaming video of backing up data to a memory for instance VAT / > Virtual Allocation Table mode that is incremental write once, or > Spared mode that is used to write to rewritable media. And there is a > BSD licensed implementation already out there. > > Also when recording multimedia stream is it VERY important to choose > proper container format. For instance MP4 must be properly closed in > order to be opened - kind of nightmare of aviation recording when > camera hangs/breaks in the middle of flight and then folks cannot even > open a recording. MKV seems better choice. But (in)famous GoPro still > uses MP4 ;-) > > -- > CeDeROM, SQ7MHZ, http://www.tomek.cedro.info >
Please test your board: Some recent modification
Very everyone, It seems like some recent modification in the mainline generated some bad side effects, none command is working. I'm pretty sure everything was working yesterday! If you have a Bluepill board you can try to reproduce it this way: $ git clone https://github.com/apache/nuttx-apps apps $ git clone https://github.com/apache/nuttx $ cd nuttx $ ./tools/configure.sh stm32f103-minimum:usbnsh $ make -j $ sudo openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c init -c "reset halt" -c "stm32f1x unlock 0" -c "reset halt" -c "flash write_image erase nuttx.bin 0x0800" Reset the board and connect to /dev/ttyACM0 @ 115200 8n1 NuttShell (NSH) NuttX-12.4.0 nsh> help nsh> uname -a nsh> ls /dev nsh> No error, no output, nothing, only the prompt still alive! This is another call for a CI Hardware Testing!!! Best Regards, Alan
Re: exFAT or other large options for file system storage.
On Fri, Mar 22, 2024 at 7:54 PM Alan C. Assis wrote: > Hi Dmitri, > But I think even an open-source implementation will end-up paying > royalties, unless you are member of OIN: > https://www.paragon-software.com/exfat-license/ Here is a good page on exFAT along with Legal Status and List of Implementations sections: https://en.wikipedia.org/wiki/ExFAT Looks like Paragon Software is a proprietary implementation too. OIN membership is something else and it seems free: https://openinventionnetwork.com/our-members/funding-members-and-licensees/ According to wikipedia Apache is covered by OIN, not sure if this is about web server or all of the Apache Foundation projects? Maybe this is the way to get exFAT in NuttX? https://en.wikipedia.org/wiki/Open_Invention_Network > So, maybe you could think about some alternatives, like porting EXT3 to > NuttX (but that is not an easy task, since even FreeBSD doesn't support > EXT3). On FreeBSD we have lots of filesystems supported by FUSE and it works pretty well now. Its not a part of the system but user can install it from ports/packages. This is the implementation in use (GNU license): https://github.com/relan/exfat Here is a detailed filesystem comparison page: https://en.wikipedia.org/wiki/Comparison_of_file_systems Before ZFS was introduced to FreeBSD we used UFS(2) (Unix File System) https://en.wikipedia.org/wiki/Unix_File_System The most universal and open filesystem is UDF (POSIX compliant) but it varies in implementations and versions and no write support for all of the versions so its kinda messy and platform specific. It was (and probably still is) not really a good multiplatform replacement. I tried using it long time ago with FreeBSD, Linux and Windows as common filesystem on data partition for all of the OS on a single machine. But I sticked to EXT2. Now I simply use ZFS on FreeBSD. But ZFS even nowadays is still not a solution to work with a single data partition on various OS and definitely not an embedded solution. People simply used separate machine with NAS for storage over NFS. Idea for universal filesystem seems dead :-( UDF is widely used nowadays on top of ISO9660 to burn optical disks with large files (i.e. double layer DVD or BluRay). All systems can read it. Not all can write it on the fly (it is usually used to create static ISO+UDF image). But in theory it seems better than exFAT! https://en.wikipedia.org/wiki/Universal_Disk_Format I found some old GSoC 2012 page on UDF implementation in FreeBSD (based on NetBSD code): https://wiki.freebsd.org/SummerOfCode2012/UDFImplementation Having a modern universal filesystem support in NuttX seems important. Maybe UDF 2.60 implementation could happen? exFAT seems more popular. Maybe Apache could help here over the OIN? And most of the existing exFAT implementations are covered by GNU license so that may be no go for some companies / projects. And the standard question who is willing to invest time / cash for that implementation? UDF has some interesting features that may beneficial for instance when streaming video of backing up data to a memory for instance VAT / Virtual Allocation Table mode that is incremental write once, or Spared mode that is used to write to rewritable media. And there is a BSD licensed implementation already out there. Also when recording multimedia stream is it VERY important to choose proper container format. For instance MP4 must be properly closed in order to be opened - kind of nightmare of aviation recording when camera hangs/breaks in the middle of flight and then folks cannot even open a recording. MKV seems better choice. But (in)famous GoPro still uses MP4 ;-) -- CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
Re: YOLO machine learning on nuttx and more
Hi Justin, Welcome to NuttX!!! There are many people contributing things to NuttX and to be honest I didn't know NuttX had support for YOLO until I saw your email. I'm glad you are here because we need Documentation to it: https://nuttx.apache.org/docs/latest/applications/mlearing/darknet/index.html So, if you investigate further this topic, please consider submitting a documentation or even a beginner tutorial :-) About your other question, you can use initrc script to start-up your application: https://www.youtube.com/watch?v=jYvCe8yQ1OY Best Regards, Alan On Fri, Mar 22, 2024 at 8:34 AM justin linotte wrote: > Hello, i do not master Nuttx deeply, but i want to create a system using > Computer vision to naviguate > I develop my system on a raspberry pi pico board with nuttx on it and i > see in the docs that there is support for machine learning like YOLO > (you only look once), but there is no more documentation on it. > Because i'm stuck at this level, i ask for help here, i hope it's the > good place and that someone can help me ;) > > I also have another secondary question, but i think that if i search > more i can find by myself, but if you want to answer, its nice from you. > when i make with the usbnsh config, the apps obvioulsy not start at > system startup, and the way i can run the is through my serial monitor > CLI, so how to have a process start at boot, and maybe restart if it exit? >
YOLO machine learning on nuttx and more
Hello, i do not master Nuttx deeply, but i want to create a system using Computer vision to naviguate I develop my system on a raspberry pi pico board with nuttx on it and i see in the docs that there is support for machine learning like YOLO (you only look once), but there is no more documentation on it. Because i'm stuck at this level, i ask for help here, i hope it's the good place and that someone can help me ;) I also have another secondary question, but i think that if i search more i can find by myself, but if you want to answer, its nice from you. when i make with the usbnsh config, the apps obvioulsy not start at system startup, and the way i can run the is through my serial monitor CLI, so how to have a process start at boot, and maybe restart if it exit?
Re: Options to contribute to NuttX without github?
Hi, I realistically know that ai cant be avoided while there is money to be made. I have no problems contributing bits to NuttX knowing that they will feed the beast. The reason I started this, is that I wanted to take the symbolic step to *entirely delete* my github account, instead of keeping it just for NuttX (I have already removed my code from it, of course) Pushing patches is probably a solution to this, but that would give work to someone else and I dont like it. I'll keep github for now. These gitbox repos are a good thing, but they are very much not advertised at all and I did not know about them. But this URL redirects to github, so the gitbox cant actually be accessed: https://gitbox.apache.org/repos/asf?p=nuttx.git even via here I get a redirect: https://gitbox.apache.org/repos/asf Sebastien Le 22/03/2024 à 00:57, Nathan Hartman a écrit : For those who cannot or don't want to access GitHub, the gitbox repos on ASF infrastructure are actually the "real" source of truth. As I understand it, our GitHub repos are really some kind of mirror that is kept in a two-way sync with gitbox. (Unless something has changed since I last looked into it.) However, the way we use GitHub makes it so that GitHub is for all practical purposes the central thing for us and gitbox is some kind of afterthought (if we even remember that it's there). We as a project don't have to work in a GitHub-centric way. We could choose to use ASF's Jira for issues, ASF's buildbots for CI, etc. But GitHub's all-in-one way of working and the fact that it's so entrenched makes it the path of least resistance for most users and contributors around the world, and probably the least maintenance and administration effort for us. That's probably why GitHub is in such widespread use. The convenience and entrenchment is either an advantage (if you just want to write code and not muck around with administering all kinds of systems or teaching contributors your special way of working) or a disadvantage (if you don't like dealing with the other baggage that comes with it), depending on your point of view. While I would rather we didn't depend on GitHub as much as we do, I recognize that if we work any other way, it will introduce friction and we'd likely take a big hit in the amount of contributors and contributions. So, not because I like it but just because that's practical reality, I'd rather accept it and just focus on getting work done. I went off on a tangent. I began by talking about gitbox, which is on ASF infra. If you set that up as your remote, you can pull from it and not deal with GitHub for pulling. But what about the other direction, when you want to upstream your work? Since we have adopted the convention that no one merges their own changes (this is a good convention in my opinion), and because of CI, anything you want to push has to become a PR somehow. I don't really know how that can happen. I suppose you can email it to dev@ with a subject line starting with [PATCH] and someone can volunteer to put it in a PR and sort of become the steward of it on GitHub. But this won't get us out of the "AI" training datasets. Nothing will. As others have said, all our code is public so anyone can take it and do things with it, including training AI, and I'm sure there are lots more of them than just this "Stack" thing. Nathan On Thu, Mar 21, 2024 at 6:43 PM Gregory Nutt wrote: I think we need to continue to use PRs at some point in the process. PRs are so tied into our CI that I don't think we could work around it. Can you use another GIT repository? If you create a PR on gitlab or bitbucket, someone could move the PR to github. Or perhaps we could take commits from a local repository clone? We haven't done it for a while, but patches could also be converted to github PRs with a little more effort. I think there are options, but without PRs on github, I don't see how you could independently make changes. On 3/21/2024 4:08 PM, Sebastien Lorquet wrote: Hi, I plan to leave github completely and delete my account, because of this: https://huggingface.co/spaces/bigcode/in-the-stack It is the last of reasons that make me want to leave this place for good. How can we imagine a process so I (and others) can continue to contribute to NuttX without using pull requests from github? or any public "forge" for that matter. Sebastien