Hi Tomek,

On 6/24/23, Tomek CEDRO <to...@cedro.info> wrote:
> On Sat, Jun 24, 2023 at 3:53 PM Alan C. Assis wrote:
>> Dear NuttXers,
>> As some people here know, recently Espressif added support for USB OTG
>> Device on ESP32S3 (thanks to Dong Heng).
>
> BIG TANKS!! :-)
>
>> And it opened the possibility to have USB Console using this USB OTG
>> Device or using the USB_SERIAL_JTAG (see TRM: "33 USB Serial/JTAG
>> Controller (USB_SERIAL_JTAG)" ).
>>
>> So, to "avoid" confusion we will follow this convention: usbconsole
>> when referring to USB console using USB_SERIAL_JTAG and usbnsh when
>> referring to USB console using USB Device.
>>
>> However for a newcomer who never saw his email, it will be difficult
>> to understand what each one does. Same apply to many board profiles we
>> already have currently.
>
> The defconfig name should and can be self-explanatory:
>
> 1. usbconsole when referring to USB console using USB_SERIAL_JTAG is
> not self-explanatory. Why not just use usbnshespserialjtag? I know it
> looks ugly (can be usbnsh_esp_serialjtag?) but its grepable and most
> times it is copied / typed only once? :-)
>

Exactly because of this usbnshespserialjtag and usbnsh_esp_serialjtag
are not good names and didn't help much to explain the differences.

> 2. usbnsh when referring to USB console using USB Device... as for
> other devices so there is no confusion.
>

Yes, usbnsh is default across all platforms with USB Device CDC/ACM as
console, so we reserve it to be 100% compatible.
In theory the console over USB_SERIAL_JTAG is a "usb nsh", just using
an Espressif-only USB IP that is not real USB Device, imagine it as a
USB Device that only can be a CDC.

>> Of course, the best way to solve it is creating a documentation for
>> each board profile, but it is something that doesn't happen easily.
>
> Just let me know what to put and where and I will help with updating
> the documentation.. lets keep things coherent and make folks used to
> the process :-)
>

Just look some examples of supported boards:
https://nuttx.apache.org/docs/latest/platforms/index.html and add the
missing boards and board profiles.

I think we could create some board Template/Skeleton to be used when
submitting now boards.

I see a lot of inconsistencies and quality issues, let see just 3
random examples:


https://nuttx.apache.org/docs/latest/platforms/arm/rp2040/boards/waveshare-rp2040-lcd-1.28/index.html

Good things:
1) included board image;
2) included pinout diagrams;
3) include Feature session

Bad things:
1) didn't explain how to flash NuttX in the board
2) shallow/non-existent explanation about each board profile (read the
descriptions and you will see)


https://nuttx.apache.org/docs/latest/platforms/risc-v/mpfs/boards/icicle/index.html

Good things:
1) included board image;

Bad things:
1) didn't include Feature session; Although it is separated by CPU,
Memory and storage, Interfaces, Sensor, etc
2) didn't include all board profiles: hwtest, knsh, network, nsh,
opensbi, pnsh, rpmsg-ch1, rpmsg-ch2, rpmsg-sbi, usb


https://nuttx.apache.org/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-devkit/index.html

Good things:
1) included board image;
2) explained how to flash NuttX in the board
3) all board profiles really well explained

Bad things:
1) missing pinout diagrams;
2) didn't include Feature session;

>> So, I think having a "Description: " in the defconfig could help here.
>> People could read it to know what it does or we could use:
>> "./tools/configure.sh info boardname:profile" to print this information.
>
> I like the idea! It would be nice to have "Description" field within
> the "Defconfig" itself, that would create self-explanatory solution
> right at the code and on the `-L` list :-) Right now some options are
> obvious only for people who already know them and this is not the
> way.. for instance some CONFIG options also could be more verbose :-)
>

Nice to know you liked it. I think Brennan is worried that this
"Description:" field could make people more lazy about creating the
board documentation, but I don't think so.
I think "Description: " and Documentation are different thing, that
are not "OR Exclusive".

>
>> This is just a RFC, I opened it here:
>> https://github.com/apache/nuttx/issues/9598
>
> My comments inside too :-)
>

Thanks!

BR,

Alan

Reply via email to