Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Geiger like Sound output #27

Open
kaklik opened this issue Mar 9, 2024 · 2 comments
Open

Geiger like Sound output #27

kaklik opened this issue Mar 9, 2024 · 2 comments

Comments

@kaklik
Copy link
Collaborator

kaklik commented Mar 9, 2024

Bylo by užitečné, kdyby detektor uměl vytvářet cvakání, podobně jako je známé z GM detektoru. Mělo by to tyhle výhody:

  • Jde snadno demonstrovat k čemu je detektor dobrý (je to forma výstupu, kterou zná hodně lidí)
  • Bylo by poznat, že detektor funguje správně. (Například když se k nemu přiblíží uranová sklenička)
  • Je to marketingově výhodná vlastnost

Takovou funkci by pravděpodobně mělo být možné nějakým způsobem zapnout a vypnout. Nepovažoval bych za praktické, kdyby to vyžadovalo úplně speciální firmware (je tu ale omezení, že cvakání určitě bude žrát procesorový čas a tím zřejmě ovlivňovat mrtvou dobu)
Vypínání, nebo zapínání takové vlastnosti by šlo například implementovat držením tlačítka na předním panelu. Nebo případně zápisem na nějakou adresu EEPROM, kde si toho procesor po zapnutí všimne.

kaklik added a commit that referenced this issue Mar 29, 2024
@kaklik
Copy link
Collaborator Author

kaklik commented Mar 29, 2024

Experimentálně jsem zkusil cvaknutí přidat do firmware. Taková implementace má několik zásadních omezení:

  • Cvaká potichu (ke zvýšení hlasitosti by bylo potřeba prodloužit délku pulzu v high. To ale znamená zavést delay. Delay ale zavede i mrtvou dobu)
  • Cvaká pořád. To kromě zvýšené spotřeby může být v důsledku i otravné
  • Cvakání zvýšilo mrtvou dobu obsluhy ADC minimálně dvěma dalšími instrukcemi.
AIRDOS04_radiation.mp4

kaklik added a commit that referenced this issue Mar 29, 2024
Increase volume. #27
kaklik added a commit that referenced this issue Apr 4, 2024
@roman-dvorak
Copy link
Member

roman-dvorak commented Apr 30, 2024

Mám k té implementaci poznámky, u arduina je známé, že jeho výchozí metody pro digitalWrite zabírají relativně hodně instrukcí, protože dělá věci, jako že kontroluje existenci pinu a další (pro tento účel ne úplně potřeblé) věci. Zřejmě to souvisí s tím, aby kód byl snadno přenositelný mezi procesory, což aktuálně není náš požadavek.

Více informací je např zde: https://roboticsbackend.com/arduino-fast-digitalwrite/

Kde zároveň uvádí, že tato operace trvá 3.4 us.

V případě přímého zápisu do registru nastavující tento pin je to značně rychlejší. Pouze při zápisu se lze dostat na 0.19 us. Což my nemůžeme nastavovat celou sběrnici ale měnit jeden pin. To podle stejného odkazu zabere 0.26 us.

Vím, že existují knihovny, které obsahuí něco jako "FastDigitalWrite()" funkci. Je na zvážení, jestli využívat tuto funkci z nějakých c-knihoven a nebo používat přímo zápis do registru sběrnice.

Pak mne napadlo, že by bylo možná užitečné místo bzučáku používat LEDku pro rychlou diagnostiku stavu detektoru (nebo možnost volby)

Vypínáni a nastavování této funkce bych si představoval pomocí dosview nastavením dohodnutých bitů do eeprom.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants