Automotive ja tööstuse kliendid usaldavad minu embedded kogemust SCHMITT CONSULTINGu asutamisest alates. Kaks projekti illustreerivad minu töökorda.
Sõltumatu embedded konsultandina arendan klientidele, kes vajavad riistvarale lähedast tarkvara, reaalaja-käitumist või mõlema kombinatsiooni.
Konfidentsiaalsuse põhjustel ei saa kõiki projekte avalikult esitleda. Järgnevad kaks näidet kirjeldavad projekte, mille võtmeandmeid võin nimetada.
Waiblingeni Stihli jaoks arendasin täiesti uuesti välja mootorsae mootori juhtimistarkvara. Lähtepunkt oli analüütiline ülesanne: olemasolev juhtimistarkvara pärines Jaapani tarnijalt ja oli kirjutatud assembleris. Stihl tahtis üksikasjalikult mõista, mida see tarkvara teeb. Analüüsisin assembleri koodi ja dokumenteerisin funktsioonid nii, et Stihli arendajad said loogikat täielikult jälgida.
Selle aluse põhjal sain ülesande uusarenduse jaoks — sel korral C-keeles, eesmärgiga tarnida originaaltarkvarast rohkem funktsionaalsust. Piiritingimused olid karmid: mootorsaagide turg on äärmiselt hinnatundlik, mistõttu oli saadaval ainult väga väike, odav mikrokontroller. Mälu oli nii pingul, et reaalaja-operatsioonisüsteem oli välistatud. Tarkvara pidi töötama bare-metal ja samal ajal paralleelselt usaldusväärselt töötlema riistvarast tulevaid reaalaja-signaale.
Kogu arenduse vältel oli mul laual ainult riistvaraga plaat ja mu kood — testikeskkonda ega mootorit polnud. Esimene praktiline test toimus Waiblingeni Stihli teststendil. Kuude kaupa kestnud analüüsi ja arenduse järel poleks olnud ebaharilik, kui mootor poleks kohe käivitunud. Käivitus kohe ja töötas põhimõtteliselt hästi. Ülejäänu oli süüdetähtede peenhäälestus, iteratiivselt optimeeritud teststendil — protseduur, mida muidu katab adaptiivne õppiv tarkvara, kuid mille pidi siin mälu põhjustel käsitsi läbi viima.
Lõpptulemusena tarnisin Stihlile juhtimistarkvara, mis tegi rohkem kui varasem Jaapani versioon, töötas samal odaval mikrokontrolleril ja oli üle antud täieliku dokumentatsiooniga. Kommertsraamistik on äramärkimist väärt: Stihli ostuosakonnas toimunud lõppläbirääkimistel ei vähendatud eelnevalt kokkulepitud hinda. Ostja tegi lihtsalt selgeks, et iga euro pidi olema põhjendatav — kuid hinna alandamine polnud eesmärk. See kogemus — klient, kes maksab põhjendatud kvaliteedi eest põhjendatud hindu — on turul harv ja kujundab tänaseni minu arusaama heast koostööst.
Projekti käsitleti fikseeritud hinnaga lepinguna. Arendus toimus täielikult väljaspool Stihli ruume; kooskõlastamine Stihli kontaktisikuga toimus ainult põhimõtteliste otsuste juures.
Ingolstadti Audi jaoks oli minu algne ülesanne MOST-siini simulatsioonitarkvara loomine infotainmenti süsteemile — reaalaja-simulatsioon, mis võimaldas juhtplokkide testimist virtuaalse MOST-siini vastu.
Kohapeal selgus, et Audil oli paralleelselt teine probleem: olemasolev CAN-simulatsiooniplaat, mille oli tarninud välistarnija, ei töötanud teatud töötingimustes usaldusväärselt — see lihtsalt lõpetas otsustavatel hetkedel andmete saatmise. Kuna minu MOST-töö oli andnud mulle üksikasjaliku teadmise CAN- ja MOST-siini koostöö kohta, küsis Audi kontaktisik, kas saan selle CAN-simulatsiooni iseseisvalt uuesti üles ehitada.
Olin nõus märkusega, et esimene samm oleks töötav prototüüp — mitte ilus, vaid funktsionaalne. Vähem kui viie tööpäeva jooksul lebas laual minu enda projekteeritud elektroonikaplaat ATmega128-ga, koos minu kirjutatud simulatsioonitarkvaraga. Prototüüp oli käsitsi joodetud, kuid töötas — isegi töötingimustes, milles eelmise tarnija plaat ebaõnnestus.
Audi küsis seejärel, kas saan toota ja tarnida tükke — kuid tööstuslikus kvaliteedis, täielikult masinatootmisega, mitte käsitsi. Projekteerisin seeriaplaadi paigutuse ja töötasin Audi keskkonnast pärit PCB-tootjaga, kes hoolitses masinatootmise eest. Pärast tootja masinatestimisel toimunud intsidendi lahendamist tarnis plaat usaldusväärseid tulemusi — täpselt seal, kus algse tarnija plaat ebaõnnestus.
See projekt näitab juhtumit, kus tellimus kasvas konkreetse tehnilise sisu kaudu: algse tarkvaraülesande juurde lisandus oma riistvaraarendus seeriatootmisega — sest tundsin siinarhitektuuri piisavalt sügavalt, et päringu peale pakkuda välja toimivat lahendusteed.
Lisaks üksikasjalikult kirjeldatud projektidele olen töötanud teiste klientide heaks automotive, tööstuse ja meditsiini valdkonnas. Konkreetsemaid referentse teie keskkonnaga sarnastele ülesannetele arutan hea meelega sissejuhatavas vestluses — konfidentsiaalsuse all, kui soovite.
Kolm omadust läbivad mõlemat projekti ja suuremat osa minu tegevusest: