modm-io / modm-devices

Curated device data for all AVR and ARM Cortex-M devices
https://blog.salkinium.com/modm-devices
Mozilla Public License 2.0
49 stars 28 forks source link

Changing SAM device naming scheme, add more SAM devices #72

Closed chris-durand closed 2 years ago

chris-durand commented 2 years ago

Change device naming scheme to allow for useful grouping according to logical device families:

    SAM      D      21      E    15       A    -    M       U
{platform}{    series    }{pin}{flash}{variant}-{package}{grade}
instead of
{platform}{family}{series}{pin}{flash}{variant}-{package}{grade}

The device family letter is merged into the series part because related devices might not have the same name prefix (e.g. SAMD51 and SAME54).

More devices closely related to those already supported in modm are added.

Updated device families: SAMD51, SAME51, SAMD53, SAMD54: D5x/E5x SAMD09, SAMD10, SAMD11, SAMD20, SAMD21, SAMDA1: D1x/D2x/DAx SAMG5*: G5x SAME70, SAMS70, SAMV70, SAMV71: E7x/S7x/V7x

chris-durand commented 2 years ago

Also added more SAMx7x devices.

chris-durand commented 2 years ago

This PR has been extended to address the issue of confusing device families that do not actually represent how device are related. This is not ready to merge until modm has been adapted to the changes.

salkinium commented 2 years ago

Not trying to pour oil into the fire, but looking the the family aliases you created all ending with x, it seems to me like the family is the series letter plus the first series number?

    SAM      D2      1      E    15       A    -    M       U
{platform}{    series    }{pin}{flash}{variant}-{package}{grade}
instead of
{platform}{family}{series}{pin}{flash}{variant}-{package}{grade}
chris-durand commented 2 years ago

Not trying to pour oil into the fire, but looking the the family aliases you created all ending with x, it seems to me like the family is the series letter plus the first series number?

Not really. For instance, there are the "E70, S70, V70, V71" and "D51, E51, E53, E54" families. S70 are exactly the same as E70, but without CAN and Ethernet. x7x is basically the SAM version of STM32F7 and D5x, E5x their STM32F4 series. I would not want S70 and E70 to be part of different families.

We could get rid of the x character in the identifier, though, if you prefer that.

salkinium commented 2 years ago

Oh, that's just terrible product naming.

chris-durand commented 2 years ago

@salkinium The family names containing / make the modm homepage generation explode since slashes in filenames are generally a bad idea:

FileNotFoundError: [Errno 2] No such file or directory: '/__w/modm/modm/docs/src/reference/module/modm-platform-clockgen-sam-e7x/s7x/v7x-g5x.md'

What would be your suggestion to handle this? My only idea right now would be to rename the families. Something like d5x_e5x instead of D5x/E5x would work but we have to then hack the display of SAM family names in the README generation ...

salkinium commented 2 years ago

Just replace the / with - in that script?

chris-durand commented 2 years ago

Just replace the / with - in that script?

Thanks, that should work. By far the easiest fix.