Hi,

After the verification of the device files, next step: Enumerate all the devices!

Where should the naming schema of the devices be stored? At the moment there have two places:
- platform_tools.py
  Defines how the device name is mapped to the name of the XML device
  file. This is used to find the matching XML file.
- device_identifier.py
  Separates the device name into platform, family etc.

Using the name of the device file makes the definitions inside the XML file redundant. I'm actually not sure whether those are actually used somewhere.

I would like to get the platform generator independent from the actual device being built. Or at least reduce the number of places where something needs to be edited to support a new device/family.

One possibility would be to store the naming schema inside the device file. That would require to parse all available device files to find the matching one. Then again it allows to remove the big chunk of case statements in device_identifier.py and it would require to only add a new device file without touching the Python files.

Something like (for stm32):
<device-name>${platform}f${name}${pin_id}${size_id}</device-name>

or (at90)
<device-name>${family}${type}${name}</device-name>

or (atmega)
<device-name>at${family}${name}${type}</device-name>

Interestingly name and type swap between at90 and atmega.
What do you think?

Btw. according to the device files xpcc supports 573 different targets at the moment :)

Could we have a base schema and then "specialize" that for the architectures?

That is possible, but a bit difficult. Inheritance is supported on tag level, but not on schema level. With that most of the schema has to be rewritten for that.

Cheers,
Fabian

PS: (...)/platform/devices/avr/at90646_647_1286_1287-usb.xml looks broken with flash, ram and eeprom being defined multiple times with different values without any selector.
at90can128
at90can32
at90can64
at90pwm1
at90pwm2
at90pwm216
at90pwm3
at90pwm316
at90usb1286
at90usb1287
at90usb162
at90usb646
at90usb647
at90usb82
atmega128
atmega1280
atmega1281
atmega1284
atmega1284a
atmega1284p
atmega1284pa
atmega128a
atmega16
atmega162
atmega164
atmega164a
atmega164p
atmega164pa
atmega165
atmega165a
atmega165p
atmega165pa
atmega168
atmega168a
atmega168p
atmega168pa
atmega169
atmega169a
atmega169p
atmega169pa
atmega16a
atmega16u2
atmega16u4
atmega2560
atmega2561
atmega32
atmega324
atmega324a
atmega324p
atmega324pa
atmega325
atmega3250
atmega3250a
atmega3250p
atmega3250pa
atmega325a
atmega325p
atmega325pa
atmega328
atmega328a
atmega328p
atmega328pa
atmega329
atmega3290
atmega3290a
atmega3290p
atmega3290pa
atmega329a
atmega329p
atmega329pa
atmega32a
atmega32u2
atmega32u4
atmega48
atmega48a
atmega48p
atmega48pa
atmega64
atmega640
atmega644
atmega644a
atmega644p
atmega644pa
atmega645
atmega6450
atmega6450a
atmega6450p
atmega6450pa
atmega645a
atmega645p
atmega645pa
atmega649
atmega6490
atmega6490a
atmega6490p
atmega6490pa
atmega649a
atmega649p
atmega649pa
atmega64a
atmega8
atmega8515
atmega8535
atmega88
atmega88a
atmega88p
atmega88pa
atmega8a
atmega8u2
attiny10
attiny13
attiny13a
attiny1634
attiny20
attiny2313
attiny2313a
attiny24
attiny24a
attiny25
attiny26
attiny261
attiny261a
attiny4
attiny40
attiny4313
attiny4313a
attiny43u
attiny44
attiny44a
attiny45
attiny461
attiny461a
attiny48
attiny5
attiny84
attiny84a
attiny85
attiny861
attiny861a
attiny88
attiny9
atxmega128a1
atxmega128a1u
atxmega128a3
atxmega128a3b
atxmega128a3bu
atxmega128a3u
atxmega128a4
atxmega128a4u
atxmega128b1
atxmega128b3
atxmega128c3
atxmega128d3
atxmega128d4
atxmega16a4
atxmega16a4u
atxmega16c4
atxmega16d4
atxmega16e5
atxmega192a3
atxmega192a3b
atxmega192a3bu
atxmega192a3u
atxmega192c3
atxmega192d3
atxmega256a3
atxmega256a3b
atxmega256a3bu
atxmega256a3u
atxmega256c3
atxmega256d3
atxmega32a4
atxmega32a4u
atxmega32c4
atxmega32d4
atxmega32e5
atxmega384c3
atxmega384d3
atxmega64a1
atxmega64a1u
atxmega64a3
atxmega64a3b
atxmega64a3bu
atxmega64a3u
atxmega64a4
atxmega64a4u
atxmega64b1
atxmega64b3
atxmega64c3
atxmega64d3
atxmega64d4
atxmega8e5
hosteddarwin
hostedlinux
hostedwindows
lpc1115
lpc11c24
stm32f072c8
stm32f072cb
stm32f072r8
stm32f072rb
stm32f072v8
stm32f072vb
stm32f100c8
stm32f100cb
stm32f100r8
stm32f100rb
stm32f100v8
stm32f100vb
stm32f101c8
stm32f101cb
stm32f101r8
stm32f101rb
stm32f101t8
stm32f101tb
stm32f101v8
stm32f101vb
stm32f102c8
stm32f102cb
stm32f102r8
stm32f102rb
stm32f102t8
stm32f102tb
stm32f102v8
stm32f102vb
stm32f103c8
stm32f103cb
stm32f103r8
stm32f103rb
stm32f103rc
stm32f103rd
stm32f103re
stm32f103t8
stm32f103tb
stm32f103v8
stm32f103vb
stm32f103vc
stm32f103vd
stm32f103ve
stm32f103zc
stm32f103zd
stm32f103ze
stm32f105r8
stm32f105rb
stm32f105rc
stm32f105v8
stm32f105vb
stm32f105vc
stm32f107r8
stm32f107rb
stm32f107rc
stm32f107v8
stm32f107vb
stm32f107vc
stm32f303c6
stm32f303c8
stm32f303cb
stm32f303cc
stm32f303cd
stm32f303ce
stm32f303k6
stm32f303k8
stm32f303r6
stm32f303r8
stm32f303rb
stm32f303rc
stm32f303rd
stm32f303re
stm32f303vb
stm32f303vc
stm32f303vd
stm32f303ve
stm32f303zb
stm32f303zc
stm32f303zd
stm32f303ze
stm32f373c8
stm32f373cb
stm32f373cc
stm32f373r8
stm32f373rb
stm32f373rc
stm32f373v8
stm32f373vb
stm32f373vc
stm32f401cb
stm32f401cc
stm32f401cd
stm32f401ce
stm32f401rb
stm32f401rc
stm32f401rd
stm32f401re
stm32f401vb
stm32f401vc
stm32f401vd
stm32f401ve
stm32f405ie
stm32f405ig
stm32f405oe
stm32f405og
stm32f405re
stm32f405rg
stm32f405ve
stm32f405vg
stm32f405ze
stm32f405zg
stm32f407ie
stm32f407ig
stm32f407oe
stm32f407og
stm32f407re
stm32f407rg
stm32f407ve
stm32f407vg
stm32f407ze
stm32f407zg
stm32f410c8
stm32f410cb
stm32f410r8
stm32f410rb
stm32f410t8
stm32f410tb
stm32f411cb
stm32f411cc
stm32f411cd
stm32f411ce
stm32f411rb
stm32f411rc
stm32f411rd
stm32f411re
stm32f411vb
stm32f411vc
stm32f411vd
stm32f411ve
stm32f415ie
stm32f415ig
stm32f415oe
stm32f415og
stm32f415re
stm32f415rg
stm32f415ve
stm32f415vg
stm32f415ze
stm32f415zg
stm32f417ie
stm32f417ig
stm32f417oe
stm32f417og
stm32f417re
stm32f417rg
stm32f417ve
stm32f417vg
stm32f417ze
stm32f417zg
stm32f427ae
stm32f427ag
stm32f427ai
stm32f427be
stm32f427bg
stm32f427bi
stm32f427ie
stm32f427ig
stm32f427ii
stm32f427ne
stm32f427ng
stm32f427ni
stm32f427ve
stm32f427vg
stm32f427vi
stm32f427ze
stm32f427zg
stm32f427zi
stm32f429ae
stm32f429ag
stm32f429ai
stm32f429be
stm32f429bg
stm32f429bi
stm32f429ie
stm32f429ig
stm32f429ii
stm32f429ne
stm32f429ng
stm32f429ni
stm32f429ve
stm32f429vg
stm32f429vi
stm32f429ze
stm32f429zg
stm32f429zi
stm32f437ae
stm32f437ag
stm32f437ai
stm32f437be
stm32f437bg
stm32f437bi
stm32f437ie
stm32f437ig
stm32f437ii
stm32f437ne
stm32f437ng
stm32f437ni
stm32f437ve
stm32f437vg
stm32f437vi
stm32f437ze
stm32f437zg
stm32f437zi
stm32f439ae
stm32f439ag
stm32f439ai
stm32f439be
stm32f439bg
stm32f439bi
stm32f439ie
stm32f439ig
stm32f439ii
stm32f439ne
stm32f439ng
stm32f439ni
stm32f439ve
stm32f439vg
stm32f439vi
stm32f439ze
stm32f439zg
stm32f439zi
stm32f446mc
stm32f446me
stm32f446rc
stm32f446re
stm32f446vc
stm32f446ve
stm32f446zc
stm32f446ze
stm32f469ae
stm32f469ag
stm32f469ai
stm32f469be
stm32f469bg
stm32f469bi
stm32f469ie
stm32f469ig
stm32f469ii
stm32f469ne
stm32f469ng
stm32f469ni
stm32f479ae
stm32f479ag
stm32f479ai
stm32f479be
stm32f479bg
stm32f479bi
stm32f479ie
stm32f479ig
stm32f479ii
stm32f479ne
stm32f479ng
stm32f479ni
stm32f745be
stm32f745bg
stm32f745ie
stm32f745ig
stm32f745ne
stm32f745ng
stm32f745ve
stm32f745vg
stm32f745ze
stm32f745zg
stm32f746be
stm32f746bg
stm32f746ie
stm32f746ig
stm32f746ne
stm32f746ng
stm32f746ve
stm32f746vg
stm32f746ze
stm32f746zg
stm32f756be
stm32f756bg
stm32f756ie
stm32f756ig
stm32f756ne
stm32f756ng
stm32f756ve
stm32f756vg
stm32f756ze
stm32f756zg
stm32f765ag
stm32f765ai
stm32f765bg
stm32f765bi
stm32f765ig
stm32f765ii
stm32f765ng
stm32f765ni
stm32f765vg
stm32f765vi
stm32f765zg
stm32f765zi
stm32f767ag
stm32f767ai
stm32f767bg
stm32f767bi
stm32f767ig
stm32f767ii
stm32f767ng
stm32f767ni
stm32f767vg
stm32f767vi
stm32f767zg
stm32f767zi
stm32f768ag
stm32f768ai
stm32f768bg
stm32f768bi
stm32f768ig
stm32f768ii
stm32f768ng
stm32f768ni
stm32f768vg
stm32f768vi
stm32f768zg
stm32f768zi
stm32f769ag
stm32f769ai
stm32f769bg
stm32f769bi
stm32f769ig
stm32f769ii
stm32f769ng
stm32f769ni
stm32f769vg
stm32f769vi
stm32f769zg
stm32f769zi
stm32f777ag
stm32f777ai
stm32f777bg
stm32f777bi
stm32f777ig
stm32f777ii
stm32f777ng
stm32f777ni
stm32f777vg
stm32f777vi
stm32f777zg
stm32f777zi
stm32f778ag
stm32f778ai
stm32f778bg
stm32f778bi
stm32f778ig
stm32f778ii
stm32f778ng
stm32f778ni
stm32f778vg
stm32f778vi
stm32f778zg
stm32f778zi
stm32f779ag
stm32f779ai
stm32f779bg
stm32f779bi
stm32f779ig
stm32f779ii
stm32f779ng
stm32f779ni
stm32f779vg
stm32f779vi
stm32f779zg
stm32f779zi
_______________________________________________
xpcc-dev mailing list
xpcc-dev@lists.rwth-aachen.de
http://mailman.rwth-aachen.de/mailman/listinfo/xpcc-dev

Reply via email to