Arduino: Slå i sönder String
Re: Arduino: Slå i sönder String
Programmet i pc:n är ett program för tidtagning och hur det hanteras kommer jag inte åt.
Bara att acceptera.
Bara att acceptera.
- SeniorLemuren
- Inlägg: 8426
- Blev medlem: 26 maj 2009, 12:20:37
- Ort: Kristinehamn
Re: Arduino: Slå i sönder String
När jag frågar hur det hanteras så syftar jag naturligtvis på hur är indata organiserat och hur matas den in. Hur matas data ut (på vilket media) och hur är ev. utskrift formaterad i det fallet.
Det kan ju ge ledtrådar som förklarar alla LF bl.a.
Det kan ju ge ledtrådar som förklarar alla LF bl.a.
Re: Arduino: Slå i sönder String
Eller säg så här, vad är det som sitter där Arduinon nu ska kopplas in?
Jag antar att det är någon annan utrustning som normalt tar emot datat?
> Programmet i pc:n är ett program för tidtagning
Eget program? Kommersiellt? Finns det dokumentation? Någon websida?
Jag antar att det är någon annan utrustning som normalt tar emot datat?
> Programmet i pc:n är ett program för tidtagning
Eget program? Kommersiellt? Finns det dokumentation? Någon websida?
Re: Arduino: Slå i sönder String
Tycker det ser ut som en enkel seriell terminal (tty) som bara styr cursorn med BS CR och LF och sedan bara spottar ut texten där cursorn råkar befinna sig.
/johan
/johan
Re: Arduino: Slå i sönder String
Ja, det är ju så det ser ut i loggningen här i tråden, men det
betyder ju inte alls att det var så det fungerade från början.
Men vi får väl anta att RadioDJ har gjort vad som går för att
hitta dokumentation över kommunikationen och formatet.
I princip är det bara för RadioDJ att sätta igång och koda...
betyder ju inte alls att det var så det fungerade från början.
Men vi får väl anta att RadioDJ har gjort vad som går för att
hitta dokumentation över kommunikationen och formatet.
I princip är det bara för RadioDJ att sätta igång och koda...

Re: Arduino: Slå i sönder String
Nja, titta på i vilken ordning tecknen kommer. Efter en text kan det komma <BS><CR><LF><LF><LF>.
Möjligen så är det avsett för en skrivare som tolkar <BS> annorlunda än bara "ett steg bakåt".
Möjligen så är det avsett för en skrivare som tolkar <BS> annorlunda än bara "ett steg bakåt".
Re: Arduino: Slå i sönder String
Ja, det ser lite underligt ut. En <BS> direkt efter en <CR>
har ju i princip ingen funktion, det går inte att "backspace'a"
när man redan står vid vänster marginalen...
Min känsla är att <BS> används som något slags fält-separator
och antalet <LF> signalerar vilket fält det är.
Sen så tycker jag att även den första "0" borde vara röd, den
kanske inte är intressant, men den gör formatet mer logiskt.
<BS>0<CR>
<BS><LF>
Nils Nilsson<CR>
<BS><LF>
<LF>
...
...
har ju i princip ingen funktion, det går inte att "backspace'a"
när man redan står vid vänster marginalen...
Min känsla är att <BS> används som något slags fält-separator
och antalet <LF> signalerar vilket fält det är.
Sen så tycker jag att även den första "0" borde vara röd, den
kanske inte är intressant, men den gör formatet mer logiskt.
<BS>0<CR>
<BS><LF>
Nils Nilsson<CR>
<BS><LF>
<LF>
...
...
Re: Arduino: Slå i sönder String
Egentligen är det ju bara stycket där "nisse hult" kommer som avviker från alla de övriga då den "saknar" en <CR> innan <BS>.
Kanske captureprogrammet missade det, eller fel vid klipp&klistra?
Nisse Hult<BS><LF>
<LF>
<LF>
<LF>
Och så kanske PC-programsutvecklaren ville vara säker på att han stod längst ut till vänster innan han började skicka ut nästa text
/johan
Kanske captureprogrammet missade det, eller fel vid klipp&klistra?
Nisse Hult<BS><LF>
<LF>
<LF>
<LF>
Och så kanske PC-programsutvecklaren ville vara säker på att han stod längst ut till vänster innan han började skicka ut nästa text

/johan
Re: Arduino: Slå i sönder String
En terminal skulle påbörja nästa utskrift ett antal rader rakt under "t" i "Nisse Hult".
Tja, det kanske är det man vill...
Tja, det kanske är det man vill...

Re: Arduino: Slå i sönder String
När TS skriver "tidtagarprogram" får jag lite känsla av att det är någon form av resultattavla som ska uppdateras här, men utan lite mer info från henom så är det nog svårt att komma längre...
/johan
/johan
Re: Arduino: Slå i sönder String
Om det skulle skrivas på en terminal/skärm som förstår ASCII koderna
så skulle det se ut ungefär så här om jag fick till det rätt:
så skulle det se ut ungefär så här om jag fick till det rätt:
Kod: Markera allt
0
Nils Nilsson
Nisse
Nisse Hult
0,00
0
1,00
Re: Arduino: Slå i sönder String
Nja, skriver du ut på en skrivare så går det ju inte att radera, att backspace suddar är ett rätt sent påfund. Tidigare flyttade backspace bara markören så skulle man sudda fick man skriva över med blanktecken också.
Re: Arduino: Slå i sönder String
> men borde inte t:et i Hult raderats?
Nej. <BS> flyttar cursorn en pos till vänster, inget skrivs.
<LF> flyttar ner cursorn 4 rader.
Däremot när man trycker "Backspace" på tangentbordet så
kan det hända lite mer. Om jag t.ex först skriver "abc" sedan
trycker "Backspace" och skriver "d" (nu står det "abd" på skärmen)
så skrivs följande tecken till skärnen:
$ abc<BS> <BS>d
Första <BS> flyttar cursorn tillbaka.
Sedan kommer ett <space> som skriver över "c".
Sen flyttas cursorn tillbaka igen till där "c" var.
Sist så skrivs ett "d" ut.
Nej. <BS> flyttar cursorn en pos till vänster, inget skrivs.
<LF> flyttar ner cursorn 4 rader.
Däremot när man trycker "Backspace" på tangentbordet så
kan det hända lite mer. Om jag t.ex först skriver "abc" sedan
trycker "Backspace" och skriver "d" (nu står det "abd" på skärmen)
så skrivs följande tecken till skärnen:
$ abc<BS> <BS>d
Första <BS> flyttar cursorn tillbaka.
Sedan kommer ett <space> som skriver över "c".
Sen flyttas cursorn tillbaka igen till där "c" var.
Sist så skrivs ett "d" ut.
Re: Arduino: Slå i sönder String
Det här med att det skriver över förutsätter ju att det är en bildskärm.
På en terminal med skrivare (hardcopy) så får redigeringen av
raden visas på annan sätt (samma knappar tryckta som ovan):
I detta fall sätter /hardcopy om vissa terminal attribut
så att drivern tror att det är en terminal med skrivare...
> att backspace suddar är ett rätt sent påfund.
ASCII tecknet <BS> har aldrig ändrat betydelse!
Tangenten "Backspace" på ett tengentbord fungerar ju så som
OS'et och dess terminaldriver tycker att det ska fungera, men
det har inget direkt med ASCII koderna att göra.
Ofta är även terminalen konfigurerbar hur den ska reagera på <BS>,
men det har mer med terminalen i sig att göra.
På en terminal med skrivare (hardcopy) så får redigeringen av
raden visas på annan sätt (samma knappar tryckta som ovan):
Kod: Markera allt
$ set terminal /hardcopy
$ abc\c\d
$
$ set terminal /nohardcopy
så att drivern tror att det är en terminal med skrivare...
> att backspace suddar är ett rätt sent påfund.
ASCII tecknet <BS> har aldrig ändrat betydelse!
Tangenten "Backspace" på ett tengentbord fungerar ju så som
OS'et och dess terminaldriver tycker att det ska fungera, men
det har inget direkt med ASCII koderna att göra.
Ofta är även terminalen konfigurerbar hur den ska reagera på <BS>,
men det har mer med terminalen i sig att göra.