Hitta formel 4byte till värde

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Men varför svarar du inte på de frågor vi ställt, och nej det du gissade nu sist stämmer inte.
Nerre
Inlägg: 26712
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hitta formel 4byte till värde

Inlägg av Nerre »

Därför att han inte vet?

Frågan är ju hur de fyra bytesen blir värdet längst till höger, enhet har väl inget med det att göra? Det spelar ingen roll om det är 921 elefanter, 0x03ff0864 ska bli 921.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Det förenklar ju det hela om man vet vad som faktiskt presenteras.

Problemet är ju också att vi inte vet vilken givare det är.
TS skrev att det troligen är en AMS-givare, då länkas man hit
https://www.sciosense.com/products/envi ... l-sensors/
I databladet för ENS161 kan man läsa

Kod: Markera allt

eTVOC 0 – 65,000 1 ppb 
Och detta stämmer rätt dåligt med de data som presenterats
Nerre
Inlägg: 26712
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hitta formel 4byte till värde

Inlägg av Nerre »

Det spelar väl ingen som helst roll? Frågan handlar ju om att läsa ut de där 4 bytesen och kunna presentera dem som det värde som står längst till höger. Givaren sitter ju på andra sidan sidan av mikrocontrollern?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Problemet är att givarna bara ger 2 byte.
Användarvisningsbild
MadModder
Co Admin
Inlägg: 30018
Blev medlem: 6 september 2003, 13:32:07
Ort: MadLand (Enköping)
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av MadModder »

Men han läser ju inte data från givaren skrev han, utan från MCU. Högst troligen har MCU räknat om från 0-65000 till något helt annat, som sen skickas via wifi. Det är den datan som undersöks.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Jo, men varför skicka 4 byte, när man bara får två.
Jag tror att TS har tolkat data fel.
Det vore intressant att se hela datapaketet och hans tolkning av det.
Nerre
Inlägg: 26712
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Hitta formel 4byte till värde

Inlägg av Nerre »

MCU kan ha gjort nån konvertering, den vet vi inget om, MCU är en black box. Men jag antar att värdet som står till höger är nåt som presenteras av nån annan enhet (som får data via WiFi?), den enheten tolkar alltså dessa 4 byte till det värde som presenteras. Och det är den tolkningen som behöver lösas.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Eller också så är det inte alls de 4 byte som presenteras som faktisk tolkas.
Användarvisningsbild
rvl
Inlägg: 5814
Blev medlem: 5 april 2016, 14:58:53
Ort: Helsingfors

Re: Hitta formel 4byte till värde

Inlägg av rvl »

Men OM det var en digital givare så borde det finnas ett vettigt samband mellan värdena. Men kanske givaren är analog och mcun kokar ihop värdet baserat på AD-värden???
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av sodjan »

Det som skickas från mcu till "wifi-nätet" skulle kunna vara ett 32 bit float värde, och då kan bitarna hoppa runt ganska mycket även för små justeringar i värdet.

Vad är det normalt i andra änden av wifi nätet? Vad är det som har tolkat det till det som kallas "values"?
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Nja, det stämmer inte heller.
921 blir 0x44 66 40 00
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av sodjan »

Nä, vem vet. Vi har ju inte en aning om hur de där 4 bytsen är kodade...
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 45304
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: Hitta formel 4byte till värde

Inlägg av TomasL »

Och det hade ju hjälpt om TS ville beskriva hela systemet, vilka data som visas och vad som visar dem osv, samt hela datapaketet
guckrum
Inlägg: 1691
Blev medlem: 19 juni 2012, 09:04:27
Ort: Lund

Re: Hitta formel 4byte till värde

Inlägg av guckrum »

Om man leker lite med siffrorna kan man få tex

Kod: Markera allt

computed  actual error
  909.00  909    0.00
  920.72  921   -0.28
  932.43  932    0.43
  940.55  941   -0.45
  951.35  964  -12.65
  898.18  998  -99.82
 1225.35 1226   -0.65
Där bara två värden som sticker ut. Är tabellen rätt?

Kod: Markera allt

data = []
with open('data.txt') as fh:
    for line in fh:
        data.append(tuple(map(int, line.rstrip('\n').split())))
data = sorted(data, key=lambda x: x[4])

print("computed  actual error")
for a, b, c, d, e in data:
    x = (a * 65536 + b * 256 + d) / (3 * 65536 + 242 * 256 + 94) * 909
    print("%8.2f %4d  % 6.2f" % (x, e, x - e))
Skriv svar