Akustiska måltavlor

Här kan du skapa ett raportage om ditt pågående projekt. Det kan vara en ny stock eller kanske ombyggnation av ett helt vapen. Alla trådar skall dock innehålla bilder på ditt projekt.

Moderatorer: Ulrik, Trond Åsly, taxen, Stefan.K, potatiskastare, PerN, mecke, Kari Lindström, Fritz Kraut, Robban

Kategoriregler
Trådar som skapas här skall vara ett pågående projekt som man själv bedriver. Dvs. Inga trådar som innehåller en fråga osv. En projekttråd skall även innehålla en bild eller gärna fler. Trådar som inte uppfylller dessa enkla regler kommer raderas utan förvarning!.
Användarvisningsbild
lasse-a
Inlägg: 2661
Blev medlem: 21 jun 2018, 08:19
Ort: Västergötland

Re: Akustiska måltavlor

Inlägg av lasse-a »

detstorabla skrev: ↑08 feb 2022, 16:12 Att tala om AND och OR är lite ointressant när man kodar HDL (förutom att såna villkor finns i koden).
Njae, det var tänkt för att visa att logiken för att fatta besluten var enkel, och enkelt kunde expanderas till godtyckligt antal kanaler. (Förenkla, förenkla, förenkla är de tre ledorden.) Inte för att man faktiskt har dylika grindar som logiska block i sin FPGA. (Det har man typiskt inte. Vi får gå tillbaka till PAL-kretsarna för att hitta det.)

Men visst, det hade blivit tydligare om jag inte använde ordet "grind." Jag avsåg logiken som sådan.
Användarvisningsbild
kattafan
Inlägg: 5146
Blev medlem: 29 aug 2017, 13:30
Ort: Skåne

Re: Akustiska måltavlor

Inlägg av kattafan »

lasse-a skrev: ↑08 feb 2022, 15:57
Jag hoppas bara att vi inte nördat så illa att vi skrämt bort TS, det var ju inte meningen i så fall, hänger du med/här fortfarande Kattafan? :)
elmo-toilet.gif
Hmm, gifar verkar inte starta av sig själva, så klicka på bilden :)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Finns det något bättre än att läsa folks svar på inlägg och inse att poängen eller skämtet gick rakt över huvudet på dom?
www.kikarskyttsyd.se @kikarskytt.se på instagram
grahn
Inlägg: 141
Blev medlem: 10 jun 2014, 10:25
Ort: Skelleftehamn

Re: Akustiska måltavlor

Inlägg av grahn »

Jag skrev ihop ett litet python program för att testa hjärnan lite....
TDOA med succesiv approximation.
Den slumpar ut en koordinat (grön punkt), räknar ut TDOA och skickar in dom till en loop som söker det bästa matchningen och centrumpunkten för den (rosa ring).
Den använder omkretsen på alla 4 korsningspunkterna (vita ringar) för att bedöma vad som är bättre och sämre.

Vill ni "förstöra" genom att lägga in ett fel så gör det på en eller flera av td1,2,3,4.

Tryck 'r' för en ny slumpad position och 'q' för att avsluta.

Har någon funderat på att kompensera för variationer i ljudets hastighet ?

(Jag gjorde även ett test med en 240MHz dubbelkärnig esp32 men det resultatet kommer senare)

Kod: Markera allt

from cmath import sqrt
import cv2
import numpy as np
import math
import random

def intersection(x1,y1,t1,x2,y2,t2,xmin,xmax,ymin,ymax) :
    dx= x2-x1
    dy= y2-y1

    d=sqrt(dx**2+dy**2).real
    
    if d>(t1+t2) :
        return xmin-1, ymin-1

    a = (t1**2 - t2**2 + d**2)/(2.0*d)
    x3 =x1 + (dx * a/d)
    y3 =y1 + (dy * a/d)

    h= sqrt(t1**2-a**2).real

    rx = -dy * (h/d)
    ry = dx * (h/d)

    xi = x3 + rx
    yi = y3 + ry
    if xi>=xmin and xi<=xmax and yi>=ymin and yi<=ymax :
        return xi, yi

    xi = x3 - rx
    yi = y3 - ry
    if xi>=xmin and xi<=xmax and yi>=ymin and yi<=ymax :
        return xi, yi

    return xmin-1, ymin-1

y_size_window=1000
x_size_window = 1000
x=random.randint(0,x_size_window)
y=random.randint(0,y_size_window)
x1=0
y1=y_size_window
x2=x_size_window
y2=y_size_window
x3=x_size_window
y3=0
x4=0
y4=0
t=0
x=509
y=117
font = cv2.FONT_HERSHEY_SIMPLEX
prev_dist=9999999.9
t_testdist=3.0
dist=prev_dist
while(True):

	t1=sqrt(x**2+(y_size_window-y)**2).real
	t2=sqrt((x_size_window-x)**2+(y_size_window-y)**2).real
	t3=sqrt((x_size_window-x)**2+y**2).real
	t4=sqrt(x**2+y**2).real
	t_calc=min(t1,t2,t3,t4)

	td1=t1-t_calc
	td2=t2-t_calc
	td3=t3-t_calc
	td4=t4-t_calc

	t12_min=(1000-td1-td2)/2
	t23_min=(1000-td2-td3)/2
	t34_min=(1000-td3-td4)/2
	t41_min=(1000-td4-td1)/2
	t=max(t,t12_min,t23_min,t34_min,t41_min)
	
	img = np.zeros((x_size_window,y_size_window,3), np.uint8)

	cv2.circle(img,(x1,y1), 5, (0,0,255), -1)
	cv2.circle(img,(x2,y2), 5, (255,255,0), -1)
	cv2.circle(img,(x3,y3), 5, (255,0,255), -1)
	cv2.circle(img,(x4,y4), 5, (0,255,255), -1)

	cv2.putText(img,'1',(30,x_size_window-30), font, 1,(0,0,255),2,cv2.LINE_AA)
	cv2.putText(img,'2',(y_size_window-30,x_size_window-30), font, 1,(255,255,0),2,cv2.LINE_AA)
	cv2.putText(img,'3',(y_size_window-30,30), font, 1,(255,0,255),2,cv2.LINE_AA)
	cv2.putText(img,'4',(30,30), font, 1,(0,255,255),2,cv2.LINE_AA)

	cv2.circle(img,(x1,y1), int(t+td1), (0,0,255), 1)
	cv2.circle(img,(x2,y2), int(t+td2), (255,255,0), 1)
	cv2.circle(img,(x3,y3), int(t+td3), (255,0,255), 1)
	cv2.circle(img,(x4,y4), int(t+td4), (0,255,255), 1)


	x12_x, x12_y=intersection(x1,y1,td1+t,x2,y2,td2+t,0,x_size_window,0,y_size_window)
	x23_x, x23_y=intersection(x3,y3,td3+t,x2,y2,td2+t,0,x_size_window,0,y_size_window)
	x34_x, x34_y=intersection(x3,y3,td3+t,x4,y4,td4+t,0,x_size_window,0,y_size_window)
	x41_x, x41_y=intersection(x1,y1,td1+t,x4,y4,td4+t,0,x_size_window,0,y_size_window)
	
	if x12_x>=0 :
		cv2.circle(img,(int(x12_x),int(x12_y)), 5, (255,255,255), 1)
	if x23_x>=0 :
		cv2.circle(img,(int(x23_x),int(x23_y)), 5, (255,255,255), 1)
	if x34_x>=0 :
		cv2.circle(img,(int(x34_x),int(x34_y)), 5, (255,255,255), 1)
	if x41_x>=0 :
		cv2.circle(img,(int(x41_x),int(x41_y)), 5, (255,255,255), 1)

	if x12_x>=0 and x23_x>=0 and x34_x>=0 and x41_x>=0:
		x_avg=(x12_x+x23_x+x34_x+x41_x)/4
		y_avg=(x12_y+x23_y+x34_y+x41_y)/4
		cv2.circle(img,(int(x_avg),int(y_avg)), 5, (127,127,255), 1)

		dist_12_23=sqrt((x12_x-x23_x)**2+(x12_y-x23_y)**2).real
		dist_23_34=sqrt((x34_x-x23_x)**2+(x34_y-x23_y)**2).real
		dist_34_41=sqrt((x34_x-x41_x)**2+(x34_y-x41_y)**2).real
		dist_41_12=sqrt((x12_x-x41_x)**2+(x12_y-x41_y)**2).real
		dist=dist_12_23+dist_23_34+dist_34_41+dist_41_12
		print("Dist: ",dist)
		if prev_dist<dist:
			t_testdist=-t_testdist/10

	cv2.circle(img,(x,y), 2, (0,255,0), -1)


	t+=t_testdist
	prev_dist=dist

	cv2.imshow('image', img)
    
	key =cv2.waitKey(50)
	if key>=0:
		if key& 0xFF == ord('r'): #new dot
			x=random.randint(0,x_size_window)
			y=random.randint(0,y_size_window)
			t=0
			prev_dist=9999999.9
			dist=prev_dist
			t_testdist=3.0

		if key& 0xFF == ord('q'):
			break
			
cv2.destroyAllWindows()
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

grahn skrev: ↑09 feb 2022, 16:34 Jag skrev ihop ett litet python program för att testa hjärnan lite....
TDOA med succesiv approximation.
Den slumpar ut en koordinat (grön punkt), räknar ut TDOA och skickar in dom till en loop som söker det bästa matchningen och centrumpunkten för den (rosa ring).
Den använder omkretsen på alla 4 korsningspunkterna (vita ringar) för att bedöma vad som är bättre och sämre.
Det skall bli kul att kolla på, just nu ligger mitt fokus på att få igång Pi Pico miljön, de kom en dag tidigare än utlovat :)
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

Då jag trivs bra med min vanliga dator så satte jag upp en windowsmiljö.

Jag vill föreslå att börja här: https://datasheets.raspberrypi.com/pico ... h-pico.pdf I mitt dokument så är det 9.2.1 man vill titta i.

Visual Studio Build tools hittar ni här:
https://download.visualstudio.microsoft ... dTools.exe



Jag började med googlade instruktioner, men de instruktionerna hade surnat och jag gick över till att köra det på frihand. Lite testkod är uppladdat så det tycks fungera. Men jag sätter upp en linux miljö också för att se om det är smidigare. Jag har tyvärr ingen Raspberry Pi att prova som utvecklingsmiljö.
lone_wolf
Inlägg: 1529
Blev medlem: 29 jul 2013, 15:10

Re: Akustiska måltavlor

Inlägg av lone_wolf »

grahn skrev: ↑09 feb 2022, 16:34 Jag skrev ihop ett litet python program för att testa hjärnan lite....
TDOA med succesiv approximation.
...
Intressant ansats.

Kan du beskriva approximationalgoritmen lite närmare? (tar lite tid att lista ut den från koden).

Om den konvergerar relativt snabbt, dvs inom en halv sekund eller så (beroende på processor förstås) så bör den väl kunna användas.
Baikal Margo, CZ Shadow, CZ-75b, CZ-Kadet, Ruger MK II, Tokarev-T33, Glock-17, Sako A7, Uronen Precision AR-15, Benelli Supernova, Saiga-12, Baikal-IJ18, Ruger SR-22, Custom 22, Sako Quad HB, Mosin-Nagant M91, Iver-Johnson 16, FN .22 short.
grahn
Inlägg: 141
Blev medlem: 10 jun 2014, 10:25
Ort: Skelleftehamn

Re: Akustiska måltavlor

Inlägg av grahn »

Den tar TD1,2,3,4 (4st tidsdiffar) och adderar den okända tiden T.
(En av TD1,2,3,4 är =0 då det är den första triggande mikrofonen...vilken spelar ingen roll)
T sätts till det minsta värde som behövs för att alla radien ut från alla mikrofonerna korsar sina närmaste grannar.(full fart spar tid)
T ökas sedan tills avstånden mellan de fyra skärningspunkter a (omkretsen på tetragonen) börjar öka.
Då minskas och vänds steget och när avståndet igen ökar så upprepas det igen.
Normalt tills steget är smått men min kod ovan fortsätter tills man manuellt avbryter.
Snittpunkten mellan skärningspunkten ses som träffpunkten.
Man skulle kunna göra någon form av kvalitée baserat på omkretsen men jag har ingen praktisk data på det än.

Scriptet är gjort för att visualisera så dels ritar den grafik helt i onödan och dessutom väntar den 20ms/iteration för att vi människor är sega ;-)

Kör man en dubbelkärnig esp32 kan man låta den ena kärnan hantera iteration och överföring medans den första kärnan mäter tider. Alternativt så låter man mottagaren (om vi tänker oss en ren överföring av tider) hantera beräkningen.

Jag fick ner tiden på min esp32 till 1.6us (digitala ingångar utan interrupt, med all logik som jag tror behövs) men jag har inte beräftat det med oscilloskopet än....men det ser lovande ut.
grahn
Inlägg: 141
Blev medlem: 10 jun 2014, 10:25
Ort: Skelleftehamn

Re: Akustiska måltavlor

Inlägg av grahn »

Jag hade en låg diskus med en polare som är mattematiker av rang och vi kikade på döatt lösa det med algebra....problemet är att vi kommer att ha små fel i mätningen som ställer till det rejält.
Där av bytet av taktik.
Successiv Approximation FTW!!
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

grahn skrev: ↑10 feb 2022, 21:14 Jag hade en låg diskus med en polare som är mattematiker av rang och vi kikade på döatt lösa det med algebra....problemet är att vi kommer att ha små fel i mätningen som ställer till det rejält.
Där av bytet av taktik.
Successiv Approximation FTW!!
Tittade ni på https://patentimages.storage.googleapis ... E32123.pdf?

På sida 28 och 29 har de sina formler.

Men det är mest om din lösning blir för tung för hårdvaran.


Jag har sett en "lösning" på riktningsbestämning i ett par papper. Den fungerar inte då den visar väldigt fel på nära håll och börjar bli rätt på långt håll. arcsin(tidsdiff /avstånd mellan mikrofoner) eller något i den stilen.
grahn
Inlägg: 141
Blev medlem: 10 jun 2014, 10:25
Ort: Skelleftehamn

Re: Akustiska måltavlor

Inlägg av grahn »

Vi kikade inte i patentet.
Beräkningskapacitet är för billigt... :roll:

Det mjukvaran jag skrev tidigare är ett hyffsat proof of concept för att jag ska titta på hårdvarans upplösning och hur dom mickar jag har reagerar. (Analog och ställbar digital....men rätt vad det är så är elektroniken i dom för långsam)

(Projektet med en "uppkopplad" våg får gå på paus tror jag...)
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

Jag betvivlar inte att det är rätt väg, jag var mest nyfiken på hur bra formeln sius publicerade var.
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

Pi Picon ställer till lite problem. När man programmerar den i C så är det samma som att skriva kod för en lös processor, dvs det skall sättas upp en miljö för att kompilera, länka och så vidare. Det skall skrivas make filer och allt sånt där. Att slippa sånt är anledningen till att Arduino miljön skapades.

Att kompilera exemplen är enkelt då allt redan är färdigt, men när man skriver eget och skall komponera CMakeLists.txt filen själv så finns det en tröskel. Har någon av er koll på sådant? Det går långsamt att fundera ut var man hittar allt.
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

Jag gav upp och började modifiera exemplen istället. Det fungerar, men stoltheten har fått sig en törn.

---------

Det blev lite nattsud för att koppla upp lite prylar och prova lite. Resultatet ser i alla fall lovande ut med resultat mellan 167 och 208nS interrupt latency.
Pi Pico interrupt latency.png
Mätupplösningen på min gamla Saleae Logic, version 1 räcker inte för att göra det rättvisa, med 24Msps så blir det ungefär 41ns mellan mätningarna. Det är därför jag bara ser 167nS ELLER 208nS fördröjning mellan insignal och utsignal. Stigtiden på signalerna får antas göra skillnad vid de här frekvenserna, jag skall se om jag kan få fram något vettigt med Fluke Scopemetern.

Interrupten ändrar bara status på en utpinne som det är nu. Jag skall skriva om så att det blir fler interrupter och låta dem spara tiden i 64 bitars timern med upplösning på 1uS. Det är en bra början. Ljudet når som sagt tidigare 0.34mm på 1uS.

I PWM sektionen har man möjlighet att räkna positiva flanker, negativa flanker eller låta räknaren gå under tiden som pinnen är hög. Det ser inte ut som om det går att använda för det vi vill göra utan enkel extern logik. Tex en SR vippa på varje ingång som aktiverar varje timer var för sig. Sedan väljer vi när vi stänger av dem och räknar baklänges från den tiden. Men jag tror att 64 bitars timern duger bra.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Användarvisningsbild
lasse-a
Inlägg: 2661
Blev medlem: 21 jun 2018, 08:19
Ort: Västergötland

Re: Akustiska måltavlor

Inlägg av lasse-a »

Fält skrev: ↑11 feb 2022, 22:17 Jag gav upp och började modifiera exemplen istället. Det fungerar, men stoltheten har fått sig en törn.
Ja såg inte posten igår, men om det är någon tröst så är du i gott sällskap. :) Miljöerna för programmering av inbyggda system är notoriskt omöjliga att ha att göra med. Det är inte ovanligt att det tar veckor innan man nått "Hello world"-stadiet. Nåja, det har blivit lite bättre sedan 80-90-talet, men det är långt kvar. Som du skrev; det var inte för inte som Arduinon tog världen med storm. (Som en kollega sade: "Jag ser ensamma gymnasieelever på nätet göra grejjor med Arduino på en helg som det tog oss ett team med tio ingenjörer tre månader att klara av på nittiotalet...")

Så proffsen börjar också med att modifiera färdiga exempel. (Även HW-konstruktörer. Alla börjar med referens-implementationen från tillverkaren.)


Men vi (eller iaf jag) följer med intresse dina framsteg! Även om de är baserade på exempel från tillverkaren! :)
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

lasse-a skrev: ↑12 feb 2022, 18:15
Fält skrev: ↑11 feb 2022, 22:17 Jag gav upp och började modifiera exemplen istället. Det fungerar, men stoltheten har fått sig en törn.
Ja såg inte posten igår, men om det är någon tröst så är du i gott sällskap. :) Miljöerna för programmering av inbyggda system är notoriskt omöjliga att ha att göra med. Det är inte ovanligt att det tar veckor innan man nått "Hello world"-stadiet. Nåja, det har blivit lite bättre sedan 80-90-talet, men det är långt kvar. Som du skrev; det var inte för inte som Arduinon tog världen med storm. (Som en kollega sade: "Jag ser ensamma gymnasieelever på nätet göra grejjor med Arduino på en helg som det tog oss ett team med tio ingenjörer tre månader att klara av på nittiotalet...")

Så proffsen börjar också med att modifiera färdiga exempel. (Även HW-konstruktörer. Alla börjar med referens-implementationen från tillverkaren.)


Men vi (eller iaf jag) följer med intresse dina framsteg! Även om de är baserade på exempel från tillverkaren! :)
Suck, nattsudd igen!

Det är tyvärr inte så mycket som går att använda från exemplen, jag är mest beroende av dem för att kunna kompilera det jag skrivit. Men jag har gjort framsteg med det också. Programmet heter nu target och ligger i en egen underkatalog, jag har gott hopp om att kunna flytta den till roten av examples snart :)

Det verkade vara lite motgångar som gjorde att det snabba sättet att komma in i en interrupt inte skulle fungera. Men lyckligtvis tycks all information finnas när man ramlat in i interrupten. Så man får ta reda på vilken interrupt som skedde i efterskott.

Koden kan nu sammanfattas som:

Sätt upp interrupts på några GPIO så att interrupt hanteraren enbart aktiverar en interrupt utan att skicka med någon information.

Alt1.
När interrupt sker så skriver vi upp tiden. 64bitar

Sedan sparar vi en kopia på hela det aktuella interrupt registret. 32bitar.

Titta på kopian av interrupt registret för att ta reda på vilken pinne som orsakade interrupten. Spara sedan tiden på rätt ställe baserat på det.

Nollställ aktuell interrupt och hoppa tillbaka till den vanliga koden.

Alt2.
Spara tiden när det händer och innehållet i det aktuella interrupt registret i en tabell.

Avancera tabellräknaren ett steg för att nästa interrupt skall spara på nästa rad.

Nollställ aktuell interrupt och hoppa tillbaka till den vanliga koden.

I den vanliga koden utanför interrupten så tittar vi i lugn och ro på innehållet i tabellen och sparar all information där den skall vara.
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

Jag har svårt att hitta hur jag kommer åt registret för interrupten!

Det är BANK0 INTR0 registret i Picon jag behöver hitta hur man kommer åt i C. Har någon lust att kolla på det?
Användarvisningsbild
lasse-a
Inlägg: 2661
Blev medlem: 21 jun 2018, 08:19
Ort: Västergötland

Re: Akustiska måltavlor

Inlägg av lasse-a »

Fält skrev: ↑15 feb 2022, 23:20 Jag har svårt att hitta hur jag kommer åt registret för interrupten!

Det är BANK0 INTR0 registret i Picon jag behöver hitta hur man kommer åt i C. Har någon lust att kolla på det?
Tja, jag kan titta runt. Men du har inte lite mer bakgrund? Vad är det som skall göras, i vilket sammanhang?
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

lasse-a skrev: ↑16 feb 2022, 18:49
Fält skrev: ↑15 feb 2022, 23:20 Jag har svårt att hitta hur jag kommer åt registret för interrupten!

Det är BANK0 INTR0 registret i Picon jag behöver hitta hur man kommer åt i C. Har någon lust att kolla på det?
Tja, jag kan titta runt. Men du har inte lite mer bakgrund? Vad är det som skall göras, i vilket sammanhang?
Som jag skrev lite längre upp så tar interrupten längre tid när den skall skicka med information om exakt vad som orsakat interrupten. Så "interrupt på pinne 5" ser ut att ta fem gånger längre tid än "interrupt på en pinne".

Men registret där interrupt informationen är samma i båda fallen, i det första så går interrupt handlern genom registret och skickar med vilken pinne som skapade interrupten som ett argument. I det andra fallet så hoppar den direkt till subrutinen utan att ta reda på exakt vilken interrupt det är.

Så jag tänkte göra det tidskritiska först, dvs spara tiden. Sedan sparar jag hela det aktuella interruptregistret (INTR0 i det här fallet) som innehåller informationen för att ta reda på vilken pinne som givit interrupten. Därefter går jag tillbaka till det vanliga programmet. Vi kan ha mycket tätt mellan interrupterna så vi vill spendera så lite tid som möjligt i en ISR.

I det vanliga programet så går jag sedan genom kopian på interruptregistret för att ta reda på vilken sensor som skapat interrupten. I den här kopian så finns information om det blivit en interrupt på stigande, fallande eller om pinnens aktuella status var låg eller hög när kopian togs. Det senare kan vara en rädding om interrupterna kommer för tätt, som när en kula träffar exakt i mitten.

Registerbasen kallas BANK0 och registret INTR0. Ett motsvarande exempel för timern är: hi = timer_hw->timerawh; Men jag lyckas inte hitta vad BANK0, skall kallas när man gör något motsvarande.
Fält
Inlägg: 2774
Blev medlem: 21 jan 2016, 15:58

Re: Akustiska måltavlor

Inlägg av Fält »

Jag fann en ledtråd i SDKn. pico-sdk\src\rp2040\hardware_structs\include\hardware\structs\iobank0.h

iobank0_hw bör det vara. gcc, trivs inte riktigt med det, så det saknas nog någon #include. Jag har aldrig sett någon inkludera något så djupt i en katalogstruktur. Så jag får fundera lite.

Kod: Markera allt

    // 0x00000004 [2]     : GPIO0_EDGE_LOW (0)
    // 0x00000002 [1]     : GPIO0_LEVEL_HIGH (0)
    // 0x00000001 [0]     : GPIO0_LEVEL_LOW (0)
    io_rw_32 intr[4];

    io_irq_ctrl_hw_t proc0_irq_ctrl;

    io_irq_ctrl_hw_t proc1_irq_ctrl;

    io_irq_ctrl_hw_t dormant_wake_irq_ctrl;
} iobank0_hw_t;

#define iobank0_hw ((iobank0_hw_t *const)IO_BANK0_BASE)
/// \end::iobank0_hw[]
edit: sökvägarna var inte helt lätta att förstå sig på, jag hade hållit på en timma när jag fick hjälp på RPI forumet. Inklusive sökvägen. Men det får testas i morgon.
grahn
Inlägg: 141
Blev medlem: 10 jun 2014, 10:25
Ort: Skelleftehamn

Re: Akustiska måltavlor

Inlägg av grahn »

Jag har funderat lite till...
Hur utbreder sig bogvågen (ljud/tryck) i förhållande till kulans hastighet ?
Jag antar att vågen får en vinkel som en funktion av kulans hastighet i förhållande till ljudets hastighet.
Det borde påverka tämligen markant på de 4 tider man får och alltså borde man behöva kompensera för det.