Väckarklocka med Tetris att bevisa att du är vaken (11 / 16 steg)

Steg 11: fel;



jag gillar ett enkelt och enhetligt sätt Visa feltillstånd. Jag visar tiden för felet, en valfri variabel och radnumret där felet uppstod; och sedan frysa för evigt. Jag inkluderar bara oftast
fel;
var vill jag ett fel att inträffa. Det definieras som
#define fel print_error(250,__LINE__)
och print_error (var, line_number) gör den faktiska visning och frysning. Så använder jag "fel;" om jag inte vill visa en viss variabel och "print_error()" om jag gör.

Det blir mer besvärlig eftersom Arduino miljö lägger till en massa funktion prototyper i början av din fil när den sammanställer. Även om det är skönt att inte behöva skriva ut funktionen prototyper det röra upp mitt fel; funktionalitet. Jag gör numret korrekt genom att subtrahera en konstant som jag kallar ARDUINO_OFFSET. Detta är antalet funktioner än setup() och loop(). Är det ofta enklast att avgöra genom att avsiktligt orsakar ett fel och se hur mycket radnumret är avstängd. Jag har också flera filer som Arduino miljö helt enkelt sammanfogar tillsammans. Så har jag följande i slutet av min största fil:
#define FILE_LENGTH 1153
Det är bara längden på filen, numret på sin linje. Så skriver min fel rutin ut både standard radnumret och radnumret minus FILE_LENGTH. Om första numret är för stor för huvudfilen sedan leta efter andra numret i den andra filen.

Ja vet jag att jag sa "lätt" i första meningen i detta steg och det är faktiskt ganska invecklad. Efter att du får det arbetar den enkla biten är bara att lägga till "fel;" var ett fel skulle inträffa. Det sparar en massa tid och främjar robust kod.

Se Steg
Relaterade Ämnen

Med Fusion att göra Collaborative skulpturer med bin

För denna serie av collaborative skulpturer ville jag göra en ekologisk ram som min bina kunde bygga kam. Eftersom kam är tung när fylld med honung och mycket bräcklig när det tas från kupan, beslutade jag behövde för att bygga en struktur stark nog...

Med Fusion att skapa Plug formar

I denna tutorial kommer jag att använda Fusion 360 skapa en plug mögel för vakuumformning akryl så att slutprodukten liknar en blåst glas skala insekt.Material som används:1/4 tum akryl, klar och vit3/4 tum MDF, limmade med trälim för lager materialK...

Att lägga till obegränsad minne i en EVO T20 med NT4e att göra en användbar dator

Compaq EVO T20 tunna klienter kan plockas upp för mindre än $50 och är i princip begränsad mini datorer, som med lite fritt tillgänglig programvara och vissa inställningar kan göras till en användbar tyst låg spänning stationär dator. Det största pro...

Plus storlek Barbie (dockan med mer att älska)

hittade jag en låda som jag passar i som också tillåtet utrymme för mig att flytta runt och jag skär en rektangel av framsidan av lådan.Nästa, jag bifogade bungee kablar till insidan / baksidan av boxen att göra det som en ryggsäck. Sedan säkrade jag...

Väckarklocka med IR- och Bluetooth-högtalare

INTRODUKTIONHej, mitt namn är Ben Hur Gonçalves, jag är en mekatroniska ingenjör utexaminerades Universidade de São Paulo, Brasilien i 2010. Arbetar numera jag med verkligheten, men jag gör dessa projekt med arduino på helgerna, bara på kul. Detta va...

Multifunktions väckarklocka för att kunna göra lättast i världen.

--Översikt--Detta är en multifunktionell väckarklocka som alla kan lättast göra i världen som fungerar genom att den fristående. Alla kan enkelt göra det från några delar men tiden inte kan visas. Nuvarande förbrukning handlar om 0,008 mA, så batteri...

Med Maya att snabbt skapa en professionell produkt gör för Shapeways

När du säljer en modedesign på 3D utskrift webbplatser som Shapeways, tror jag det är viktigt att skapa en både vacker och professionellt första intryck för en kund när de landar på din produktsida.I den här lektionen ska vi använda Maya 2015 att byg...

Förståelse sändare-anhängare: Med transistorer att minska Sag

Många elektroniska kretsar, inklusive spänningsavdelare och filter, producera signaler det sag när strömmen ritas. En sändare-anhängare använder en transistor för att minska denna sag med en faktor 100.Följande information är anpassade från en elektr...

Lära sig att sy en kudde Vintage Halloween med älskar att sy

dekorera ditt hem med denna Halloween kudde tillverkad av en vintage Halloween gratulationskort. Det är snabbt och lätt att sy--den enda stygn används är en enkel rak söm med inga kurvor behövs. Du behöver en bit av dator tyg papper, en vintage gratu...

Zipper örhängen med armband att göra delar

Hej alla! Detta är min allra första Instructable. Jag kommer att visa dig hur man gör örhängen ur dragkedja reglagen och armband att göra delar. Njut!Verktyg som behövs:-Ett par spetsiga tång.Mindre är bättre, men detta var det enda paret som jag had...

Med Solidworks att konstruera PVC modeller

Hej Det är kaywhysee här för att lära dig att konstruera enkla PVC strukturer på datorstödd designprogrammet Solidworks. Jag kommer att lära dig hur man gör grundläggande PVC-rör, och hur man kombinerar dem med PVC lederna. I detta instructable, jag...

Fräsning tips – med Vise att få arbete koordinater

När fräsning, att hitta ditt arbete koordinater kan vara knepigt. En sak att komma ihåg är att vise ger en yta som är parallella och spola med din pjäs, och det kan bli utforskad.I denna quick tips tutorial, jag ska visa dig hur du får X och Y från v...

Hur får man gratis AA batterier! (Med chanser att få AAA batterier!)

Ett enkelt sätt att få många AA batterier som är praktiskt taget nya gratis!En extra Bonus är att det finns små möjligheter att få AAA-batterier!Steg 1: Verktyg som behövs för Nästan inga verktyg behövs!Allt du behöver är:1. en platt huvud skruvmejse...

Quick & Easy dator skämt med attityd att skona!

Detta skämt kom ut ur en kommentar från en av mina andra ' ibles (som var inspirerad av en annan "vänners kompatibla.)Här är en länk till min ursprungliga ' kompatibel...Helt enkelt, det är bara en snabb fil som du lägger till måldatorn som gör det t...

Hur att bygga din egen kemilaboratorium från Scratch och ett enkelt Experiment med det att göra!

Tror du inte att ha ditt eget kemiskt laboratorium är en riktigt cool sak? Är det inte?Som vi alla ser i filmer, ser vi alla dessa forskare och superhjältar i deras källare som arbetar hårt i någon form av lab, gör några riktigt coola typen av grejer...

LinkIt med Blynk att styra en Servo

Det finns många användningsområden för servo är nu för tiden! Det finns ännu fler användningsområden för WiFi Servo! Detta projekt kommer att visa hur man använder en LinkIt en styrelse att styra ett Servo med BlynkSteg 1: Ladda upp kodenOm du inte v...

Skriva ut Life-sized mönster med Sketchup: att göra prototyper med Sketchup

detta är en ovanlig twist från min elektronik! Har du någonsin velat testa något för storlek? Nu kan du faktiskt få tag på nästan vad som helst och känna det affärsinriktning nu! Du kan skriva ut en golvuret, och se om det passar high-wise i ditt rum...

Med klipp att Rama konst

Har några cool konst och vet inte vad jag ska Rama in den med?Är du på en budget?Har du också några papperslappar skrot-bokning liggande som du inte vet vad man ska göra med?Lösning: Använd några av dessa snyggt klipp för att utforma din konst!Steg 1...

Med stl2gcode att automatiskt generera G-kod från STL-filer

Potentialen för vertikala fräsmaskiner med raka änden kvarnarDet är ofta möjligt att komma fram till sofistikerad design med endast en vertikal fräsmaskin med raka änden kvarnar. Flera lätta bänken övre vertikala fräsmaskiner har nått marknaden under...