Gå til innhold

Standard for definisjon av elektronisk grensesnitt (ICD)


Anbefalte innlegg

Dette er litt skudd i blinde, men er det noen som kjenner til en standard for maskinlesbar ICD? Før noen kommer dragende med OpenAPI og andre web-baserte løsninger. Dette er ment for definisjon av kommand-respons baserte systemer uten å definere hvor man kobler seg til for å utveksle data (i denne konteksten snakker vi om embedded systemer og dermed SPI, I2C, U(S)ART o.l. som fysisk grensesnitt). Det jeg/jobben har i dag er to iterasjoner med proprietære formater. I tillegg har vi en konkurrent og underleverandør som har sitt eget proprietære format. Alle disse formatene beskriver essensielt

  • Hvilke kommandoer man kan sende
  • Hvilke data parameter en kommando tar
  • Hvilke data som returneres tilbake

Dataene som utveksles er effektivt en språk-uavhengig definisjon av en struct som bare sier noe generisk om datatypene, typisk basert på en C-tolkning av hva dataene er.

Formålet med formatet er å kunne auto-generere kode som eksponerer et API i C, Python e.l. som tillater en å snakke med systemet. Dette har vi hatt god suksess med og vi genererer i skrivende stund et sted mellom 300 000 og 400 000 linjer med kode (med ca en 1:10 faktor data inn mot kode ut). Før dette ruller alt for langt avgårde er jeg derimot ganske interessert i å finne ut om det allerede finnes en standard som dekker dette behovet allerede. Hvis det eksisterer er jeg selvsagt interessert i å jobbe mot og bruke noe eksisterende. Hittil har jeg derimot ikke klart å finne noe passende. Siden dette er et format vi i økende grad deler med kunder og klienter så får vi jevnlig spørsmål om de står fritt til å gjenbruke det, noe som gjør at jeg vurderer å presse på for og publisere det som en åpen standard. Derimot er det ingen grunn til å gjøre det hvis det allerede eksisterer.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...