Re: exFAT or other large options for file system storage.

2024-03-22 Thread Xiang Xiao
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

2024-03-22 Thread Alan C. Assis
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.

2024-03-22 Thread Tomek CEDRO
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

2024-03-22 Thread Alan C. Assis
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

2024-03-22 Thread justin linotte
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?

2024-03-22 Thread Sebastien Lorquet

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