#mercurial

ws01@diasp.org

Der "Doppelpiepser", die fußgängerfreunliche Alternative zur Klingel :-)

(Leicht bearbeites Repost eines mit #Pluspora leider verschwundenen Artikels)

piep piep!

Zum Probehören einfach ins Bild klicken

Beim Aufräumen fiel mir Anfang 2020 das hier abgebildete Teil in die Hand, eine Bastelei, die ich 2016 mit einem preiswerten Microcontroller auf die Schnelle zusammengeklöppelt hatte, auf Basis einer bei www.mikrocontroller.net gefundenen Idee. Der entsprechende Artikel ist hier bei mikrocontroller.net immer noch zu finden, incl. des ziemlich simplen Quellcodes. Ein ensprechendes #Mercurial -Repository ist zusammen mit dem Mercurial-Support von #Bitbucket untergegangen.

Zum besseren Verständnis, die Ausgangsfrage war

Ich möchte mit einer einfachen Schaltung so einen Doppelpieps erzeugen,
wie bei der FB vom Auto. Wie realisiere ich das am besten, NE 555 und
Piezo Lautsprecher scheinen dafür ja geeignet zu sein ?

Es geht hier um das Geräusch, das manche Autos mit der Hupe produzieren, wenn man es per Funkschlüssel auf- oder zuschließt. Meist geben die Blinker zusätzlich ein kurzes Signal, zweimal kurz oder einmal lang. Unsere jetzt fast 25 Jahre alte Famlienkutsche hat zwar einen Funkschlüssel, blinkt jedoch nur. 2016 war das aber noch weit verbreitet. Inzwischen höre ich es nur seltener.

Neben der Funktion als Partygag kann man den Überraschungseffekt (damals kannte praktisch jeder das Geräusch) durchaus auch beim #Radfahren nutzen, etwa wenn man mit Fußgängern zusammen fahren muss. Ich vermeide das zwar eisern, aber wenn ich den #Kottenforst, konkret den Bonner Stadtwald queren möchte, habe ich keine Alternative. An den meisten meiner Rennräder habe ich keine Klingel, sondern benutze meine Stimme, das funktioniert i.d.R. besser. Interessanterweise tut es der Überraschungseffekt aber noch besser, der sich ergibt, wenn man dieses Geräusch an einer Stelle vernimmt, wo man es nicht erwartet. Ich hab's später dann aber wieder drangegegeben, hauptsächlich weil der Gebrauch umständlich war. Hätte ich einen 3D-Drucker, hätte ich mir vmtl. ein kompaktes Gehäuse gedruckt, ein kleiner Taster, ein kleiner 3V-Akku und ein Piezo-Buzzer ohne eigene Elektronik dürften zusammen weniger Raum einnehmen als eine herkömmliche Klingel.

Konstruktion

Meine Realisierung unterscheidet sich von anderen vornehmlich durch ihren Minimalismus: ausser einem kleinen 8-Bit-Microcontroller names PIC10F320 werden keine weiteren elektronischen Bauteile benötigt. Tatsächlich habe ich diesen hier nur deswegen verwendet, weil ich einen herumliegen hatte, es hätten evtl auch weniger üppig ausgestattete getan. 😀 Dieser hier hat 0.448 KB Programmspeicher (ja, richtig gelesen, Kilobyte), so steht's im Datenblatt. Im Manual steht natürlich "program memory flash (words): 256". Diese Prozessorserie hat eine Harvard-Architektur und der Programmspeicher ist nicht byteorientiert. Was Bytes angeht: davon gibt es 64 Stück, von denen weniger als ein Drittel benötigt wurden.

Auf eine Zeichnung der Schaltung habe ich verzichtet, es ist neben Masse und Vdd eigentlich nur ein Datenpin (RA2) an den Buzzer anzuschließen. Details in Kopf des Quellcodes.

-> https://www.mystrobl.de/ws/pic/basteleien/doppelpiepser_main.c

Verwendet habe ich im Prototyp nicht die SMD-Version des Prozessors, sondern die für Prototyping immer noch recht praktische DIP-8-Variante, auf einem Steckbrett. Auf den im Foto sichbaren Spannungsregeler kann man bei Versorgung mit einer Lithium-Ionen-Zelle verzichten, diese Prozessoren funktionieren in einem weiten Spannungsbereich, wahlweise 1,8-3,6 V oder 2,3V-5,5V.

Der verwendete Microcontroller ist einer der kleinsten, die derzeit auf dem Markt sind. Attraktiv an den Teilen ist, daß sie sehr robuste I/O-Ports haben, äußerst simpel zu programmieren sind und daß man damit ohne nennenswerte Zusatzbeschaltung einfache deterministische Steuerungen bauen kann. Um ein halbes Dutzend Modelleisenbahnweichen anzusteuern und zwei Kontaktgleise abzufragen, braucht man keine multitaskingfähige CPU mit mehreren Kernen, bei der man schon bei der Frage, wie die umfangreiche Peripherie bzw. deren Kontrollregister zu initialisieren sind, auf mehr Lesestoff und Probleme stößt, als das Problem darstellt, das man eigentlich lösen wollte.

Wohlgemerkt, es geht hier nicht darum, Geld zu sparen. sondern darum, unnötige Komplexität zu vermeiden. Zwar gibt es durchaus Variationen solcher Controller aus chinesischen Quellen, die weniger als 3 Cent pro Stück kosten, und Controller wie der PIC10F200 aufwärts sind insbesondere in der für Breadboard-Basteleien besser geeigneten PDIP-Verpackung hierzulande recht teuer, Reichelt verlangte für einen PIC10F200 im Jahr 2019 54 Cent pro Stück, die SOT-23-6-Version für SMD-Platinen kostete aber nur 36 Cent. Aktuell (2024) empfiehlt Micrchip, den 10F200 nicht mehr zu verwenden, sondern den PIC10F322, der sich vom dem in dieser Bastelei hier verwendeten 10F320 nur durch den mit 512 Worten doppelt so grossen Programmflash unterscheidet. Für den 10F320 in der DIP-8-Ausführung bezahlt man bei Rechelt inzwischen 1,05 €. Für Basteleien wie diese ist das irrelevant, i.d.R. gibt man mehr Geld für Porto aus als für die Bauteile.

Die noch aus den Zeiten der TTL-Gräber bekannten DIP/DIL-Bauform nimmt man längst nur noch für Prototypen und selbst da im professionellen Umfeld seltener, weil viele neuere IC und Komponenten nur noch in diesen Bauformen verfügbar sind, z.T. auch aus technischen Gründen, etwa bei hohen Frequenzen. Dennoch, wenn man auf die Schnelle eine robuste Peripherieschaltung zusammenklöppeln will, ist ein Steckbrett oder ein Platinenabschnitt mit einem einfach steckbaren Controller oft die besser kontrollierbare Lösung, im Vergleich dazu, einen noch freien Pin einer vorhandenen komplexen Lösung verträglich mit einem nicht vollständig offengelegten oder verstandenen Softwarestack aus vielen Schichten auf deterministische Weise zu steuern, und das schnell.

https://www.sprut.de/electronic/pic/10f20x.htm gibt eine Übersicht über die einfach gestrickten Prozessoren der 200er-Serie und gibt einen Eindruck von der Größenordnung. Erforderlich für diese Bastelei erforderlich ist allerdings eine Besonderheit des 10LF32x , der NCO ("Numerially Controlled Oszillator"), der die Produktion einer Rechteckschwingung auf das Setzen von ein paar Steuerregistern beschränkt. Das Programm reduziert sich so auf zwei simple Schleifen. Faktisch macht der eigentliche Prozessor hier nicht mehr, als unterschiedlich lange zu warten.

#electronics #radfahren #klingel #bastelkram

tek_dmn@diaspora.tekdmn.me

So, interestingly enough, I recently swapped my #gitlab instance for #heptapod just for the #mercurial support.
Heptapod is a fork of GitLab that mostly just adds Mercurial, but that also means it's still the same base code, which is a lot of Ruby.
Ruby being interpreted... and the way that GitLab's "enterprise" features are handled, I almost wonder if enabling them without a license is as simple as finding the license check in the distributed ruby files and patching it out.


Note: I don't usually condone actions like that, though it's an interesting idea to say the least, even if I'm to assume that GitLab's code is a fair bit more sophisticated than that. Please don't go and start poking around in either code base for the purpose of patching out the paywall(s).

Second note: I can only imagine what chaos I'm about to cause, given the origins of "Heptapod" which is decidedly not part of software development or anything in this field.

julien1001@diasp.eu

Sunsetting Mercurial support in Bitbucket

https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket

Mauvaise nouvelle. #Atlassian a décidé de supprimer le support de #Mercurial dans #Bitbucket. Les développeurs ont jusqu’au 1er juin 2020 pour migrer vers #Git. Je trouve cela vraiment dommage.

Quelqu’un connaîtrait-il une bonne plate-forme pour héberger des référentiels Mercurial ?

#hg #vcs