Wurkkos Taschenlampen

Skilhunt Taschenlampen

Firmware für NANJG 105c Treiber

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Hi,

ich habe letzens meine erste Lampe mit Nanjg 105c Treiber bekommen, da mir aber einige Dinge nicht gefallen haben und ein attiny13 verbaut ist, kann man diesen ja relativ leicht umprogrammieren.

Konkret hat mir nicht gefallen das der Treiber nicht im niedrigsten Modus startet wenn man die Lampe einschaltet und das die Abschaltspannung etwas zu niedrig ist.


Dabei ist folgendes herausgekommen:

- ca. 3Millionen Schaltzyklen durch gute Ausnutzung des EEproms
-Treiber schaltet eine Stufe runter, und fängt nicht einfach an zu blinken wenn der Akku fast leer ist
-Abschaltspannung ca. 3V
-Beim einschalten startet der Treiber immer in Low
- Mode Reihenfolge: 0.5%-5%-40%-100% mit der Besonderheit das nach der höchsten Stufe nicht die 0.5% wieder kommen, sondern die 5% Stufe. Die 0.5% Stufe wird so nur beim direkten einschalten erreicht
- Stromverbauch in der 0.5% Stufe nur etwa 2mA, also ca. 2Monate Laufzeit


Damit der Treiber weiß wann die Lampe ganz aus war oder nur kurz, muss man noch einen Widerstand und Kondensator auf den Treiber löten.
Ich habe einen 10uF Kondensator im 0805 Gehäuse verwendet und einen 200kOhm Widerstand im 0603 Gehäuse. Als Widerstand geht sicher auch einer im 0805 Gehäuse, hatte aber gerade nichts anderes da. Die beiden werden auf die mittleren beiden Sterne parallel verlötet(siehe Bild).

Und so funktioniert das: Sobald die Lampe eingeschaltet wird, misst der Controller ob der Kondensator aufgeladen ist, damit weiß er ob er in die niedrigste Stufe schalten muss, oder eine Stufe weiter. Danach wird der Kondensator aufgeladen. Wenn die Lampe mal länger ausgeschaltet war, ist der Kondensator durch den Widerstand entladen.

Fuse Bits: Low : 0x69, High : 0xFD

Mfg Dominic
 

Anhänge

  • Nanjg105 Treiber.zip
    2,3 KB · Aufrufe: 94
  • DSC00650g.jpg
    DSC00650g.jpg
    98,2 KB · Aufrufe: 193

Wild

Flashaholic*
26 August 2010
730
529
93
NRW
Ich frage jetzt einfach mal direkt:

Mit welchem equipment lädst du deine IC's ? Bzw. was wäre eine Grundausstattung?
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Zum flashen benutze ich einen mySmart USB light.
Um den Programmer mit dem attiny zu verbinden, nehme ich dünnen Kupferlackdraht (für einfachere Methoden bin ich offen).

Joa, sonst braucht man eig nur noch einen Lötkolben mit recht dünner Spitze.

Die Software um neue Programme zu schreiben und zum flashen gibts kostenlos im Internet.
 

Bagno

Flashaholic**
26 Juni 2012
1.377
731
113
Münsterland
Hallo Dominic,

wenn Du an weiterer Firmware für die 105c-Reihe interessiert bist, schau mal beim Dr.Jones (auch User hier im TLF) nach:

DrJones' Custom Firmware Drivers

Viele User hier sind sehr zufrieden mit den Programmiermöglichkeiten der Firmware von ihm (auch ich) :thumbsup:

Aber bedenke, nur für den privaten Gebrauch bestimmt!!

Gruß

Sven
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Hi,

danke, aber wenn ich das richtig verstehe starten diese Treiber nicht immer auf low, und das wollte ich gerade. Deshalb habe ich ja meine eigene Software geschrieben, so gefällt es mir am besten :D
 

the_holodoc

Flashaholic***
7 August 2011
5.035
3.278
113
Hi,

danke, aber wenn ich das richtig verstehe starten diese Treiber nicht immer auf low, und das wollte ich gerade. Deshalb habe ich ja meine eigene Software geschrieben, so gefällt es mir am besten :D

Die Art des Memory ist bei lucidrv und lupodrv von DrJones programmierbar:

Die Modi sind programmierbar, d.h. vom Benutzer konfigurierbar, auch ihre Anzahl und der Memory-Typ ist änderbar. Außerdem gibt es zwei Modusgruppen, so dass man je nach Bedarf zwischen zwei Konfigurationen umschalten kann. Zusätzlich gibt es einen Mode-Lock, der bei Bedarf das Weiterschalten der Modi verhindert (z.B. zum Signalisieren). Außerdem gibt es eine Ladestandsanzeige.


Kurzbeschreibung lucidrv:
(lange Beschreibung in englisch hier)

Mit 8 schnellen Tastendrücken kommt man in den Programmiermodus, angezeigt durch ein spezielles Blinksignal. Mit einer zweiten Tastendruck-Serie wählt man die gewünschte Option aus. Also einen Modus auswählen und >1s lang benutzen (-> aktueller Modus), 8 mal schnell drücken, dann kurz warten, dann nochmal N mal drücken:

0 mal: Einfach Abwarten, bis das Blinksignal von selbst aufhört, das bricht das Programmieren ab. Man kann die Blinkimpulse mitzählen, ihre Anzahl gibt Auskunft über den Ladezustand der Zelle: Pro Impuls etwa 0.1V über 3.0V ohne Last (voll:~12, recht leer: ~4).
1 mal: mode lock an/aus: Modus fixieren, so dass er nicht mehr gewechselt wird. Gut, wenn man die Lampe oft nur ganz kurz an hat, z.B. zum Signalisieren.
2 mal: Modusgruppe wechseln. Der Treiber hat zwei Modusgruppen, zwischen denen man umschalten kann, so dass man je nach Situation andere Modi haben kann, z.B. einen für innen und einen für außen. Der Memory-Typ (s.u.) ist für beide Gruppen getrennt einstellbar.
3 mal: Eine Rampe aus 16 Helligkeitsstufen fährt 2 Mal hoch und runter. Bet der gewünschten Helligkeit einmal drücken, dann wird der aktuelle Modus mit dieser Helligkeit überschrieben (konstante Helligkeit).
4 mal: Der aktuelle Modus wird mit Strobe überschrieben.
5 mal: Der aktuelle Modus wird mit Beacon überschrieben. (Blinkt alle 10s)
6 mal: löscht den aktuellen Modus; die Gruppe hat dann einen Modus weniger.
7 mal: Fügt einen Modus an bei dem aktuellen Modus ein. Genauer gesagt wird der aktuelle Modus verdoppelt.
8 mal: Deaktiviert memory für die aktuelle Gruppe.
9 mal: Aktiviert klassischen memory für die aktuelle Gruppe.
10 mal: Aktiviert short-cycle memory für die aktuelle Gruppe.

Wann immer die Zellenspannung unter Last unter 3V fällt, schaltet die Lampe die Helligkeit herunter (etwa um die Hälfte), jedoch nie ganz aus.

Speziell ist dabei der Treiber (lupodrv), der ist programmierbar, d.h. der Benutzer kann alle Modi umkonfigurieren, die Anzahl der Modi ändern und auch den Memory-Typ. Außerdem gibt's ein mode-lock-feature für tacticoolness oder zum Signalisieren.

lupodrv user interface:
Just like normal drivers it has some modes and memory, but it has two additional features:
Mode locking: Select any mode and use it for a second, then quite quickly tap (halfpress) the button 5 times (so it's on for only <0.2s each time), then the mode you started with is locked; it won't change to next mode any more. Good for tacticool or signaling purpose. Return to normal operation by quickly tapping 5 times again.
Programming: You can change any mode to a different brightness, strobe or beacon; you can change the number of modes (1-7), and you can change the memory type (no-memory, classic memory, short-cycle memory).
Select a mode (use for a second) and enter programming mode by 8 rapid taps (<0.2s on each time); then the driver goes through all options (see below), just tap again at the right moment to choose the one you want.
* Programming mode signal, also serves as battery indicator (number of blinks indicates battery voltage)
* Ramps through 16 visually linear levels of brightness up and down two times; just tap to reprogram the above selected mode with that new brightness
* blinks 4 times (* * * *) and repeats that once: strobe (tap to select strobe as new mode)
* blinks 4 times in a bigger interval (*___*___*___*): beacon
* Morse signals "a" (* ---) twice: add a mode; the new mode is inserted before the above selected mode. Tapping here automatically starts programming mode again for that new mode.
* Morse signals "d" (--- * *) twice: delete the selected mode
* Morse signals "n" (--- *) twice: Set to no-memory
* Morse signals "m" (--- ---) twice: Set to normal memory
* Morse signals "s" (* * *) twice: Set to short-cycle memory (see below).
* Then the light exits programming mode without any changes and returns to normal operation, 1st mode.

Short-cycle memory combines the advantages of lights with memory and those with no-memory: Usually with memory you have a few modes, but if you want to go back to the first mode, you have to cycle through the remaining modes. With no memory, you always start at the 1st mode and don't always have to click through all the modes, but you have no memory.
With short-cycle memory, a mode is memorized after 1s, but if you when you change modes again, it will restart in the first mode instead of the next mode, so you don't have to cycle through all the modes. You can have memory, lots of modes, but no need to cycle through all of them. It effectively hides every mode behind all it's predecessors and is very effective if you have your favourite modes in front and blinkies or other rarely used modes at the end.

MfG Frederick
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Ich glaube wir reden hier etwas aneinander vorbei, vllt hätte ich das auch deutlicher schreiben sollen.

Mein Treiber startet automatisch auf low, sobald die Lampe länger als ca. 1 Sekunde aus war, egal in welcher Stufe man vorher war.
Das macht der Treiber von DrJones' nicht, oder? Sonst ist der Treiber von DrJones echt Klasse, mit den vielen Anpassungsmöglichlkeiten.
 

9x6

Flashaholic**
2 Dezember 2012
3.874
1.636
113
Berlin
Mein Treiber startet automatisch auf low, sobald die Lampe länger als ca. 1 Sekunde aus war, egal in welcher Stufe man vorher war.
Das macht der Treiber von DrJones' nicht, oder? Sonst ist der Treiber von DrJones echt Klasse, mit den vielen Anpassungsmöglichlkeiten.

Doch, das geht, einfach mehrere Stufen programmieren, z.B. low, mid1, mid2, high und jedes memory ausschalten. Ich habe das bei meinem roten Drop-In so ähnlich gemacht, allerdings nehme ich short-cycle memory, d.h. ich bin immer auf der zuletzt verwendeten Stufe, aber ein Klick und ich bin auf low. Wenn man Memory ausschaltet, startet man immer auf der ersten Stufe, und die kann ja low sein.

Gruß Jörg
 
Zuletzt bearbeitet:

fritz15

Flashaholic**
8 Mai 2011
1.008
1.623
113
Aalborg, Dänemark
Hallo,

der Unterschied besteht darin, dass die ganzen Firmwares, die ohne Memory kursieren bisher nach dem folgenden Prinzip geschrieben wurden:
Sobald die Lampe länger als x.y Sekunden an ist, ist der nächste Modus, den man erhält automatisch der erste.
Man misst also wie lange die Lampe an war.

Diese Firmware funktioniert genau anders herum:
Durch den Kondensator misst man, wie lange die Lampe aus war. Und wenn die Lampe dann länger als x.y Sekunden aus war ist der nächste Modus den man erhält automatisch der erste.

Also zwei komplett unterschiedliche Funktionsweisen.
Ich finde es klasse, dass es Dominic ermöglicht hat mit einfachen Mitteln die "Aus"-Zeit der Treiber zu messen, was bisher mit den Mitteln eines Attiny13 nicht möglich war.
Das dürfte einige neue Möglichkeiten eröffnen!

@Dominic, springt dein Treiber auch auf Modus 1 zurück, wenn man die Lampe länger als x.y Sekunden an lässt oder nur, wenn sie ausgeschaltet wurde?

Zum flashen benutze ich einen mySmart USB light.
Um den Programmer mit dem attiny zu verbinden, nehme ich dünnen Kupferlackdraht (für einfachere Methoden bin ich offen).
[...]

Falls du vorhast öfters Treiber zu programmieren kannst du dir auch Gedanken über die Anschaffung einer solchen Klammer Gedanken machen:
3M 8 Way SOIC Test Clip - SOIC Clips / ISP Leads - 3M 8 WAY SOIC TEST CLIP - C.U.S

MfG
 
  • Danke
Reaktionen: LegolasGT

9x6

Flashaholic**
2 Dezember 2012
3.874
1.636
113
Berlin
der Unterschied besteht darin, dass die ganzen Firmwares, die ohne Memory kursieren bisher nach dem folgenden Prinzip geschrieben wurden:
Sobald die Lampe länger als x.y Sekunden an ist, ist der nächste Modus, den man erhält automatisch der erste.
Man misst also wie lange die Lampe an war.

Auch nach mehrmaligem Lesen verstehe ich das nicht. Ich habe hier eine nicht von mir umgebaute Balder BD1 mit forward-clicky ohne memory mit high, mid, low. Wenn ich den clicky schnell hintereinander leicht antippe, komme ich auf die weiteren Stufen. Wenn ich den clicky lange leicht gedrückt halte (nicht durchdrücke), dann kurz loslasse und dann gleich wieder drücke, komme ich auch auf die weiteren Stufen. Wenn ich den clicky längere Zeit leicht gedrückt halte und dann länger als 1 Sekunde loslasse, komme ich danach wieder auf die 1.Stufe.

Offensichtlich berücksichtigt dieser Treiber doch die Auszeit: Länger aus, dann Stufe 1, kürzer aus, dann nächste Stufe.

Gruß Jörg
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
@ fritz15, genau so funktioniert mein Treiber.

Nein, der Treiber springt nur auf Modus 1 zurück, wenn die Lampe länger als x Sekunden aus war. Wenn man direkt auf Modus 1 will, kann man auch den Clicky einfach ca. 1 Sekunde leicht drücken, und ist automatisch in Modus 1.

Kann aber auch noch eine andere Version schreiben, die das gewünschte Verhalten hat, sollte kein Problem sein.

Der Test Clip ist ja genial, muss ich mir demnächst mal zulegen, danke.

@Jörg, ja, die Balder scheint das genauso zu machen wie mein Treiber. Und genauso macht das die Firmware von DrJones auch?
 

9x6

Flashaholic**
2 Dezember 2012
3.874
1.636
113
Berlin
@Jörg, ja, die Balder scheint das genauso zu machen wie mein Treiber. Und genauso macht das die Firmware von DrJones auch?

Ich habe jetzt NANJG101AK1, custom firmware lucidrv in meinem roten Drop-In umprogrammiert, etwas anders ist es schon: Ohne memory startet die Lampe immer in der 1.Stufe. Wenn eine gewählte Stufe eine Weile an war, bewirkt auch eine kurze Unterbrechung Sprung zur ersten Stufe. Das ist nicht genau das, was der Treiber der Balder macht, der würde bei einer kurzen Unterbrechung zur nächsten Stufe schalten.

Gruß Jörg
 

DrJones

Flashaholic*
16 Februar 2012
354
442
63
Nahe Frankfurt/M
Nein, meine Firmware hat kein "off-time memory", weil sie für Treiber ohne Hardware-Modifikation konzipiert ist.

Schön, mal wieder etwas frischer Wind in der Firmware-Ecke :)
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
@ Jörg, danke für deinen Versuch, damit wäre das ja dann auch geklärt.

@DrJones, ja, das ist der Vorteil bei deiner Firmware, man braucht keine Hardware Modifikationen.

Ich finde die Firmware ist eines der wichtigsten sachen an Taschenlampen, das ist bei mir oft der Aussschlag, ob mir eine Lampe gefällt oder nicht.
 

DrJones

Flashaholic*
16 Februar 2012
354
442
63
Nahe Frankfurt/M
Geht mir auch so - wobei mir heutzutage bei einer Lampe die UI selbst eigentlich nicht mehr wichtig ist, sondern, ob ich einen NANJG reintauschen kann :)
Nur wenige Lampen, die ich benutze, haben noch die original-UI.
 

muellihenry

Flashaholic**
12 Oktober 2014
4.021
3.304
113
Moin's,

aus aktuellem Anlass muß ich diesen Thread noch mal vor holen. Ich habe versucht die geänderte Software und Hardware von " LegolasGT " auf meinen Nanjg105c zu übernehmen, aber irgendwie klappt das nicht. Um den Modus zu wechseln muß ich immer fürchterlich schnell drücken :confused: auchso passt alles nicht. Hardware habe ich vor dem Flashen aufgelötet, ich weiß nicht ob das so richtig war, und Fuse Bits habe ich nur die angegebenen geändert, die anderen habe ich bei behalten. Habe schon mehrere geflasht aber der will irgendwie nicht.
Wäre über eine Erläuterung sehr erfreut :D vielleicht kann sich der Thread Ersteller noch mal äußern.

Gruß, Gerd
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Hey,

schön das mein Programm wohl immer noch gelegentlich genutzt wird ;)

Um dir wirklich helfen zu können brauche ich noch ein paar Informationen:

Um den Modus zu wechseln muß ich immer fürchterlich schnell drücken :confused: auchso passt alles nicht.

Was passt alles nicht?

Hardware habe ich vor dem Flashen aufgelötet, ich weiß nicht ob das so richtig war, und Fuse Bits habe ich nur die angegebenen geändert, die anderen habe ich bei behalten.

Du hast also nur die Low und high fuses geflasht?, das wäre richtig, die anderen haben keine Einfluss auf die Funktion.
Die lockbits hast du aber gelöscht?, gehe ich aber jetzt mal von aus, sonst könnte man ihn nicht programmieren.

Habe schon mehrere geflasht aber der will irgendwie nicht.

Du hast schon mehrere mit dieser Firmware geflasht und dieser eine geht nicht?



Noch eine Frage:

Der Kondensator sitzt auch an den richtigen Pins?, kann ja durchaus sein das die Platine geändert wurde. Das wäre PB4(Pin 3) und PB0(Pin 5).

Wenn alles nicht hilft bräuchte ich eine genaue Fehlerbeschreibung, sonst ist es sehr schwer aus der Ferne zu helfen.

Gruß Dominic
 
  • Danke
Reaktionen: muellihenry

muellihenry

Flashaholic**
12 Oktober 2014
4.021
3.304
113
Hallo Dominic,

schön daß du dich meiner annimmst ;)

Also zu erstens:

manchmal schaltet er weiter in einen anderen Modus, manchmal nicht. Ein anderes mal schaltet er gleich zwei stufen weiter, es gibt quasi kein System in der Sache.

zu zweitens:

Ich benutze das Programm extreme Burner, und habe als erstes wie immer den Chip gelöscht. Bei den Fuse Bits/Settings wusste ich eben nicht was ich machen soll. Die scheinen nicht mit gelöscht worden zu sein, und jetzt wusste ich nicht welche Werte schon geschrieben worden sind, nach dem Flashen :confused:

31691


Und hier wusste ich eben nicht was genau ich einstellen muß bzw. wo die Häkchen hin müssen...

zu drittens:

Nein, nicht mit deiner Firmware, waren alles andere und hat auch immer funktioniert.
Ich muß sagen daß ich das auch nicht schon ewig mache, habe mich auch erst mal einlesen müssen.
Ob die Platine geändert wurde weiß ich jetzt nicht, habe gerade keine zur Hand. Vielleicht wäre eine genaue Reihenfolge zum Flashvorgang für mich nützlich.

Gruß, Gerd
 

Anhänge

  • extreme Burner.PNG
    extreme Burner.PNG
    57,6 KB · Aufrufe: 406
Zuletzt bearbeitet von einem Moderator:

muellihenry

Flashaholic**
12 Oktober 2014
4.021
3.304
113
Hallöle,

ich habe heute noch mal einen Versuch gemacht und geschaut ob die Beinchen des Attiny anders belegt sind, die Beine passen so wie es sein soll. Dann habe ich wieder den Attiny gelöscht (Chip Erase) Als nächstes habe ich deine geänderte Firmware in das Programm geladen und die Fuse Bits low und High geändert. Jetzt habe ich den Attiny geflasht, ohne Fehlermeldung. Dann habe ich den Treiber getestet, vorhanden waren drei Stufen, Low, Med, High und ließen sich auch durchschalten wie es sein soll. Dann habe ich den Mod mit dem C und dem Widerstand durchgeführt, hinzu kam jetzt noch ein Moonlight.
Taster wieder betätigt ML nochmal ML nochmal ML :mad:
Dann habe ich schnell, aber wirklich schnell hinter einander gedrückt und es änderte sich dann auch die Stufe, aber halt nicht wie gewünscht.

Hier noch mal ein paar Screenshots nach dem Flashen von Flash, EEPROM und den Fuse Bits Settings

31718


31719


31720


Vielleicht erkennst du ja an den Werten ob was nicht passt.

Gruß, Gerd
 

Anhänge

  • Flash.PNG
    Flash.PNG
    55,9 KB · Aufrufe: 392
  • EEPROM.PNG
    EEPROM.PNG
    52,4 KB · Aufrufe: 390
  • Fuse Bits-Settings.PNG
    Fuse Bits-Settings.PNG
    50,5 KB · Aufrufe: 389
Zuletzt bearbeitet von einem Moderator:

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Moin,

Ich benutze das Programm extreme Burner, und habe als erstes wie immer den Chip gelöscht. Bei den Fuse Bits/Settings wusste ich eben nicht was ich machen soll. Die scheinen nicht mit gelöscht worden zu sein, und jetzt wusste ich nicht welche Werte schon geschrieben worden sind, nach dem Flashen

Gruß, Gerd

Ok, das sieht schonmal gut aus. Wenn du einmal einen Chip Erase durchgeführt hast, reicht das. Das dient in erster Linie nur um die Lockbits zu löschen(diese verhindern sonst ein beschreiben).
Danach kannst du die Low/High Fuse flashen, die bleiben dann auch erhalten. Um dann die Firmware zu aktualisieren musst du nur den Flashbereich neu beschreiben(Flashen).
Eeprom brauchst du garnicht beschreiben.

Dann habe ich den Mod mit dem C und dem Widerstand durchgeführt, hinzu kam jetzt noch ein Moonlight.
Taster wieder betätigt ML nochmal ML nochmal ML
Dann habe ich schnell, aber wirklich schnell hinter einander gedrückt und es änderte sich dann auch die Stufe, aber halt nicht wie gewünscht.

Welche werte für C und R hast du genommen?
Nach dem ganz schnellen drücken bist du also in einer anderen aber nicht in der richtigen Stufe gelandet?

Ist ein Stützkondensator für den Microcontroller auf der Platine vorhanden?
Sonst sieht soweit alles gut aus.


Wenn die Werte von C und R stimmen, kannst du noch versuchen die Schaltschwelle im Code, zur Entscheidung ob moonlight oder nicht, zu verändern:

Code:
void Stufe_hoch() {
	
	if(Stufe >= max_Stufe) Stufe = 2;
	else Stufe++;
	if (max_Stufe == 1) Stufe = 1;
	
	if (ADC_Ergebnis < 300) {
		
		max_Stufe = 4;
		Stufe = 1;
	}	
	
	Stufe_aktualisieren();
	schreibe_Eeprom();
}

Dafür müsstest du nur die Zahl hinter ADC_Ergebnis etwas kleiner als 300 machen. Musst du einfach mal ein wenig experimentieren.

Sonst fehlen mir gerade die Ideen was nicht stimmen könnte.


Gruß Dominic
 

muellihenry

Flashaholic**
12 Oktober 2014
4.021
3.304
113
Hallöle,

der Widerstand hat 200K und der Kondensator hat 10uF, wie von dir angegeben. Übrigens sieht es heute schon viel besser aus :D der ADC_Ergebnis Wert war genau der richtige Ansatzpunkt!
Ich habe noch gestern das Source File im AVR Studio bearbeitet. Habe den Wert erst auf 288 gesetzt, keine Wirkung. Dann habe ich ihn auf 254 gesetzt, erste Ansätze waren zu erkennen. Ich dachte mir machst erst mal einen größeren Schritt und bin auf 128 gegangen und da lies sich alles wunderbar durch schalten.
Allerdings war ich noch nicht mit der Zeit zufrieden daß die Lampe nicht in ML schaltet. Jetzt habe ich den Wert noch mal auf 64 gesetzt, was soll ich sagen, absolut perfekt :thumbsup:
Also der jetzige wert ist aber von den 300 schon ganz schön entfernt, wundert mich daß die 300 bei dir gefunzt haben.

Ich danke dir auf jeden Fall für deine Hilffe :)

Gruß, Gerd
 

LegolasGT

Erleuchteter
27 Juni 2011
90
163
33
nahe Frankfurt/M
Hey,

freut mich das es jetzt funktioniert.

Der niedrige ADC Wert ist wirklich etwas seltsam, hat bei mir damals alles wunderbar funktioniert.
Naja, hauptsache es funktioniert, viel Spaß damit.

Gruß Dominic
 
  • Danke
Reaktionen: muellihenry
19 Mai 2017
11
2
3
Servus LegolasGT!

Hol jetzt auch diesen etwas älteren Thread hervor.
Nachdem sich bei mir mittlerweile einige defekte Lampen mit E-Switch angesammelt haben
bin ich beim Versuch, neue Treiber einzubauen.
Nach vielen Stunden lesen in Foren hab ich mich dazu entschlossen, Nanjg Treiber selber flashen zu versuchen.
Hab auch schon zwei 105C Treiber erfolgreich mit der Baton 20 Firmware von Toykeeper beschrieben.

Nachdem mir allerdings das Olight UI nicht 100%ig passt bin ich beim Suchen nach Alternativen auf deine SW gestoßen.
Nun zur Frage:
Ist es möglich, deine SW auf einen 105D zu schreiben? R und C würde ich an Pin 3 und 5 anlöten.
Da ich mit einem IC-Clip arbeite will ich schon vor dem Löten wissen, ob das prinzipiell funktioniert.

Ohne Lötarbeiten schaltet deine Firmware einfach immer alle Modi durch?

Danke,
Wede
 

muellihenry

Flashaholic**
12 Oktober 2014
4.021
3.304
113
Servus LegolasGT!

Hol jetzt auch diesen etwas älteren Thread hervor.
Nachdem sich bei mir mittlerweile einige defekte Lampen mit E-Switch angesammelt haben
bin ich beim Versuch, neue Treiber einzubauen.
Nach vielen Stunden lesen in Foren hab ich mich dazu entschlossen, Nanjg Treiber selber flashen zu versuchen.
Hab auch schon zwei 105C Treiber erfolgreich mit der Baton 20 Firmware von Toykeeper beschrieben.

Nachdem mir allerdings das Olight UI nicht 100%ig passt bin ich beim Suchen nach Alternativen auf deine SW gestoßen.
Nun zur Frage:
Ist es möglich, deine SW auf einen 105D zu schreiben? R und C würde ich an Pin 3 und 5 anlöten.
Da ich mit einem IC-Clip arbeite will ich schon vor dem Löten wissen, ob das prinzipiell funktioniert.

Ohne Lötarbeiten schaltet deine Firmware einfach immer alle Modi durch?

Danke,
Wede
Die ist aber so wie sie ist nicht für E Switch gedacht, sondern für Clicky. Wenn du den R und C unterbringst, geht auch der 105D. Ich wurde zwar nicht gefragt, antworte aber mal. ;)
 
19 Mai 2017
11
2
3
Danke!
Das hab ich im Eifer des Gefechts doch glatt übersehen.
Dann muß ich wohl weitersuchen oder mich mit dem Olight - gerampe anfreunden.

Oder versuchen, eine SW umzustricken.
Denn nachdem ich Programmierkenntnisse = 0 besitze wird alles andere schwierig bis unlösbar.

Danke,
Wede
 

Liquidity

Flashaholic*
8 Februar 2013
888
506
93
Guten Abend,

ich hänge mich hier mal dran. Ich habe mittlerweile alles zusammen um ATtiny13 zu flashen und sitze heute schon seit einer geraumen Zeit dran. Mittlerweile hänge ich aber an einem Problem fest und komme nicht weiter.

Ich nutze extreme Burner AVR und den USBASP V2.0.

Testweise wollte ich auf einen nackigen ATtiny13 die Nlite-Firmware von DrJones aufspielen. Die Fusebits habe ich gesetzt: low: 0x75, high: 0xFF.(Wozu sind die eigentlich da?) Beim Aufspielen bricht der Vorgang ab dem Punkt "Veryfiing Flash Memory..." mit der Meldung "Mismatch at Location 0x0000000" ab. Beim Auslesen, was nun auf dem µC passiert ist, ist jede zweite Doppelzeile nicht beschrieben.

Hat jemand einen Tip, wie ich da vorzugehen habe?

Viele Grüße, Christian
 

steidlmick

Flashaholic***
15 August 2012
6.331
5.404
113
Bielefeld, NRW
Testweise wollte ich auf einen nackigen ATtiny13 die Nlite-Firmware von DrJones aufspielen. Die Fusebits habe ich gesetzt: low: 0x75, high: 0xFF.(Wozu sind die eigentlich da?)
Fuses sind elektronische Schalter, die Grundfunktionalität sicherstellen. Damit wird z.B. das Startverhalten eingestellt, ob der interne oder ein externer Taktgenerator benutzt wird und diverse andere Dinge.
Man sollte auf keinen Fall einfach mal so daran herumstellen, damit kann man den Attiny total stilllegen!
Beim Aufspielen bricht der Vorgang ab dem Punkt "Veryfiing Flash Memory..." mit der Meldung "Mismatch at Location 0x0000000" ab. Beim Auslesen, was nun auf dem µC passiert ist, ist jede zweite Doppelzeile nicht beschrieben.
Zum Verständnis:
Der eigentliche Schreibvorgang scheint korrekt zu laufen, aber nur beim Vergleich hinterher kommt eine Fehlermeldung?.

Hast du mal andere Schreibprogramme benutzt, z.B. avrdude? Das ist zwar nicht besonders komfortabel, aber kann viel.
Und welchen USB-Adapter genau hast du? Hast du vielleicht einen Produkt-Link?
 
  • Danke
Reaktionen: Liquidity

Liquidity

Flashaholic*
8 Februar 2013
888
506
93
Hi, und vielen Dank, dass Du Dich dieses Problems annimmst!

Fusebits habe ich nur gesetzt, wie angegeben waren, somit habe ich da schonmal Nichts falsch gemacht.

Hier ist der Verlauf des Beschreibens:
Unbenannt.jpg

Das hier soll auf den µC:
Unbenannt2.jpg

Und das lese ich (reproduzierbar) nach gescheitertem Beschreiben aus:
Unbenannt3.jpg

Ich habe bisher nur den extreme Burner genutzt da ich mich als Anfänger nicht mit mehren Programmen auseinandersetzen wollte. Aber wenn ich nicht drumherum komme...

USB-Adapter ist Dieser: https://www.fasttech.com/p/1002900. Ich habe ihn als Empfehlung für genau dieses Einsatzzweck gefunden.

Viele Grüße, Christian
 

steidlmick

Flashaholic***
15 August 2012
6.331
5.404
113
Bielefeld, NRW
Fusebits habe ich nur gesetzt, wie angegeben waren, somit habe ich da schonmal Nichts falsch gemacht.
OK, dann ist das ja nicht die Problemquelle, würde ohnehin nicht zu so spezifischen Fehlern führen.
Und das lese ich (reproduzierbar) nach gescheitertem Beschreiben aus:
Anhang anzeigen 81344
Sehr eigenartig...
Ich habe bisher nur den extreme Burner genutzt da ich mich als Anfänger nicht mit mehren Programmen auseinandersetzen wollte. Aber wenn ich nicht drumherum komme...
Ich habe deshalb nachgefragt, weil man irgendwie mal eingrenzen muss, ob es nur an der Hardware oder nur an der Software oder ggf. an beidem liegt.
USB-Adapter ist Dieser: https://www.fasttech.com/p/1002900. Ich habe ihn als Empfehlung für genau dieses Einsatzzweck gefunden.
Der ist grundsätzlich auch OK, es gibt manchmal Modelle mit (störenden) Schutzwiderständen in den Signalleitungen, aber das ist hier nicht der Fall.

OK, um der Fehlerursache näher zu kommen, solltest du wirklich mal avrdude probieren.
Benutzt du Windows? Falls ja könnte ich mal eine cmd-Datei mit der nötigen Befehlssequenz schreiben, dann musst du die nur ausführen und die Möglichkeit für (ggf. fatale) Fehler ist viel geringer.
 
  • Danke
Reaktionen: Liquidity

Liquidity

Flashaholic*
8 Februar 2013
888
506
93
An avrdude bin ich jetzt schon rind 60 min dran, bekomme es aber noch nicht zum Laufen. Es blitzt immer nur kurz ein DOS(?) Fenster auf und verschwindet wieder. Der ebenfalls enthaltene "Arduino Programmer" läuft, findet aber kein "board".

Ja, ich nutze Windows. Für alles Andere bin ich zu doof 8|

Ich laufe auch mit einem zweiten ATtiny13 mit dem erwähnten Fehler auf. An dem µC sollte es somit auch nicht liegen.

Viele Grüße, Christian
 

steidlmick

Flashaholic***
15 August 2012
6.331
5.404
113
Bielefeld, NRW
So, ich habe hier eine .zip-Datei zusammengestellt, die drei avrdude-Dateien enthält und noch zwei .cmd-Dateien.

Bitte entpacke den ganzen Inhalt der .zip-Datei in ein Verzeichnis mit kurzem Namen (acht Zeichen, keine Leerzeichen), das NICHT unterhalb von einem der unsäglichen Windows-Arbeitsverzeichnisse liegt!
Also C:\convoy oder D:\attiny13 oder so etwas wäre OK, alles in "Dokumente" und wie der Mist sonst noch so heißt geht NICHT!

Dann kopierst du noch die .hex-Datei, die du flashen möchtest, in das gleiche Verzeichnis. Auch der Dateiname dieser zu flashenden .hex-Datei sollte nicht länger als acht Zeichen sein und keine Leerzeichen enthalten.

Dann steckst du den USBasp-Adapter an, schließt den Attiny13 an und startest test.cmd mit einem Doppelklick.
Lesen was dort steht und befolgen, es ist nur eine Testsequenz, da kann nichts falsches passieren.

Wenn das geklappt hat startest du flash.cmd mit einem Doppelklick. Dort wirst du nach dem Dateinamen der zu schreibenden .hex-Datei gefragt und du musst mit "J" bestätigen.

Mal schauen ob es klappt! Wenn es nicht geht suchen wir weiter.
 

Anhänge

  • Attiny13_3.zip
    232,8 KB · Aufrufe: 2
Zuletzt bearbeitet:
  • Danke
Reaktionen: Liquidity und Maiger

Liquidity

Flashaholic*
8 Februar 2013
888
506
93
Guten Morgen,

Ich bin schon etwas sprachlos, wie sehr Du Dich da rein hängst, vielen lieben Dank!
Ich werde erst heute Abend wieder am Rechner sein. Ich melde mich!

Für eine andere Firmware bin ich offen, ich wollte nur erstmal testen, ob alles funktioniert. Das war auch eine gute Idee, hätte ich schon auf einem Treiber herumgeflasht wäre er aktuell unbrauchbar. :D
Bistro klingt sehr gut, allerdings habe ich noch nicht nach den entsprechenden Kondensatoren gesucht.

Ich wünsche einen guten Start in den Tag!

Viele Grüße, Christian
 

Liquidity

Flashaholic*
8 Februar 2013
888
506
93
Das hat funktioniert! Ich kann es kaum glauben. Ich habe keine(!) Ahung, was da passiert ist, wie Du das gemacht hast und wie man in der Lage sein kann, diese Art der Schwarzmagie anzuwenden... Aber irgendwie finde ich das hexfile auf dem ATtiny wieder.

Vielen, VIELEN Dank!
 

steidlmick

Flashaholic***
15 August 2012
6.331
5.404
113
Bielefeld, NRW
OK, damit wissen wir ja jetzt, dass es wohl an der Software lag/liegt.
Welche Version von eXtreme Burner benutzt du denn eigentlich? Aktuell für Windows dürfte wohl 1.4.3 sein.
 

Liquidity

Flashaholic*
8 Februar 2013
888
506
93
Ja, ich nutze die Version 1.4.3. Diese ist aus dem Jahre 2015.

Das Beschreiben des nackten µC funktioniert soweit gut, der, auf dem Convoy-Treiber eingebaute ATtiny weigert sich allerdings noch und wird nicht erkannt. Dabei ist es egal,.ob ich schreiben, lesen oder löschen möchte. Kann es sein, dass die Teile einen Schreib-/Leseschutz haben? An der Ausrichtung der Programmierzange liegt es nicht, das habe ich getestet.

test.cmd sagt Folgendes:

Unbenannt.png

extreme Burner erzählt Dies:

Unbenannt2.png

Wie setze ich bei Deinem Programm eigentlich die Fusebits?
 

steidlmick

Flashaholic***
15 August 2012
6.331
5.404
113
Bielefeld, NRW
Ich habe Version 1.4.3 auf meinem Notebook laufen und das tut sie ohne Probleme.
Vielleicht probierst du es noch mal damit aus, wer weiß...

Es spricht natürlich auch nichts dagegen bei avrdude zu bleiben, funktioniert super, ist nur wenig intuitiv und komfortabel.

Das Beschreiben des nackten µC funktioniert soweit gut, der, auf dem Convoy-Treiber eingebaute ATtiny weigert sich allerdings noch und wird nicht erkannt. Dabei ist es egal,.ob ich schreiben, lesen oder löschen möchte. Kann es sein, dass die Teile einen Schreib-/Leseschutz haben?
Nein, das hat mit dem ungünstigen Layout auf der Convoy-Platine zu tun.
Bei der Convoy-Platine liegt Pin 5 (MOSI) auf Masse, das stört zwar nicht den Betrieb, wohl aber die Programierung.
Ohne einen kleinen chirurgischen Eingriff an der Platine geht es nicht!

Siehe dazu diesen Beitrag im BLF: http://budgetlightforum.com/comment/1105223#comment-1105223

Mit einem scharfen Messer/Skalpell geht das recht gut. Den späteren Betrieb stört das nicht, es ist aber für die Programmierbarkeit unumgänglich.
Wie setze ich bei Deinem Programm eigentlich die Fusebits?
Da das setzen der Fuses sehr gefährlich sein kann, habe ich es in den cmd-Skripts weggelassen.

Aber grundsätzlich geht das bei avrdude über solche Befehlsfolgen:

Low Fuse:
Code:
avrdude.exe -u -v -pt13 -cusbasp -u -U lfuse:w:0x75:m

High Fuse:
Code:
avrdude.exe -u -v -pt13 -cusbasp -u -U hfuse:w:0xFF:m
 
Zuletzt bearbeitet:

muellihenry

Flashaholic**
12 Oktober 2014
4.021
3.304
113
Ist mir bei diesem und bei dem der BD06 auch schon aufgefallen, die sind vernagelt, zumindest komme ich da auch nicht drauf. Habe da immer neue Chips drauf verbaut.