Leave a comment:
Dear Spammers and Trolls: All comments are checked by myself before publishing!
The manual inspection is why it takes some time until your text appears in the comment section (as long as it passes my inspection) - be patient...

I don't answer comments by mail!
Note the rules and my mail address in the column contact!

Norbert

Name:
Comment:
Formular:


----------------------------------------------------

Seite: technics-base-circuits-constant-voltage_ge.htm
Datum: 2020.01.22 21:06:26 (UTC+1)
Name: Stefan Kreyl

Kommentar:
Hallo
ist es Möglich in Figure 12 einen Transistor oder einen Mosfet zur Ampere Erhöhung anzuschließen. Die Üblichen Spannungsregler bringen zu wenig Ampere.  Danke

Me: Nein, denn dieser zusätzliche Transistor würde über keine Rückkopplung verfügen. Abbildung 11 zeigt eine Schaltung für Konstantstrom mit einem Leistungstransistor.

----------------------------------------------------

Seite: games-calculator-01_ge.htm
Datum: 2020.01.20 12:52:14 (UTC+1)
Name: Sebastian

Kommentar:
Spiel 'Rechenspiel' gemeistert in 38.803s. Schwierigkeitsgrad: Mittel, Rechenoperator: Addition

Kompliment für diese tolle Seite !

Me: Danke!

----------------------------------------------------

Seite: technics-robots-R13-construction_ge.htm
Datum: 2020.01.18 00:20:56 (UTC+1)
Name: Erhard

Kommentar:
Die verlinkten Widerstände und Kondensatoren sind (derzeit?) ausverkauft. Da war Deine Werbung wohl zu erfolgreich ?

Me: Danke für den Hinweis, für die Widerstände habe ich eine Alternative gefunden, für die Elektrolytkondensatoren auf die Schnelle nicht. Schaun wir mal, ob's im Jahr der Ratte wieder Nachschub gibt (derzeit sind Ferien zum chinesichen Neujahrsfest).

----------------------------------------------------

Seite: technics-base-circuits-pulse-width-modulation_ge.htm
Datum: 2020.01.16 10:47:41 (UTC+1)
Name: Ramon

Kommentar:

Abbildung 12
Warum wird zur Ansteuerung des Servos lediglich 5 bis 10 Prozent der Signallänge verwendet. Warum wird es nicht auf 100 Prozent skaliert?

Me: Das hat historische Bedeutung. Damals, als noch nicht alles digital war, konnte man somit ein Signal besser vom Hintergrundrauschen unterscheiden.


----------------------------------------------------

Seite: technics-base-circuits-pulse-width-modulation_ge.htm
Datum: 2020.01.16 09:52:44 (UTC+1)
Name: Ramon

Kommentar:
Hi, warum liegt das Tastverhältnis zwischen 5 und 10 Prozent?

Gruß Ramon

Me: Wo genau? Etwas präzisere Angaben bitte. Die Abbildungen auf meinen Seiten sind aus gutem Grund nummeriert.


----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.15 14:45:25 (UTC+1)
Name: Jesse

Comment:
Game 'Number systems' solved in 12.8s. Difficulty: Easy, Operation: Binary

When you realize Middle is 10x Harder than Easy.

Me: Maybe.




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 20:12:18 (UTC+1)
Name: khye_is_god

Comment:
Game 'Number systems' solved in 101.009s. Difficulty: Easy, Operation: Binary

i am cool now

Me: Yes.




----------------------------------------------------

Page: technics-machines-plotter-cdrom_en.htm
Date: 2020.01.14 17:03:11 (UTC+1)
Name: Arif

Comment:
Thanks so much for your software support 😊
But when i run the program the stepper moter only vibrate not moving.
Using 5 volt current and L298N DRIVE.
Only the servo motor working properly.
And stepper moter only vibrate ☹️

Me: Check the wiring. Keep in mind that you have to consider the Pin header numbers! Send me photos of your circuit so that I can see what might be wrong (I am no mentalist).




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 14:38:15 (UTC+1)
Name: Cole

Comment:
Game 'Number systems' solved in 170.704s. Difficulty: Easy, Operation: Binary

Dude it was a fun and dank game lol im so smart lololololololol



.....ps (i cheated)

Me: Cheated? How?




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 14:38:38 (UTC+1)
Name: Jose Garza

Comment:
Game 'Number systems' solved in 186.613s. Difficulty: Middle, Operation: Hexadecimal

does anybody want to join my clash of clans clan

Me: I'm not part of that virtual reality...




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 14:36:38 (UTC+1)
Name: BEST PLYER ON THIS LIST

Comment:
Game 'Number systems' solved in 97.76s. Difficulty: Easy, Operation: Binary

OMG this is such a fun game. This game bruh. I literally want to play this game all the time bruh. Bet that no one can beat my highscore: 15 seconds. Imma try again after I get over with school to get under 100. props to the OG developer.

Me: Your listed time is 97.76 seconds, not 15 seconds...




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 14:34:00 (UTC+1)
Name: Anthony Sullivan

Comment:
Game 'Number systems' solved in 35.36s. Difficulty: Middle, Operation: Hexadecimal

Now on for Heavy, wish me luck

Me: No luck needed, it's all about train your brain.




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 14:31:50 (UTC+1)
Name: Bruh

Comment:
Game 'Number systems' solved in 57.976s. Difficulty: Middle, Operation: Binary

This is so easy

Me: You still can go to "strong".




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.14 14:30:55 (UTC+1)
Name: Anthony Sullivan

Comment:
Game 'Number systems' solved in 19.244s. Difficulty: Easy, Operation: Hexadecimal

I am a god.

Me: Good? Yes. God? Im in doubt.




----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.13 14:10:42 (UTC+1)
Name: Brian

Comment:
Game 'Number systems' solved in 52.178s. Difficulty: Easy, Operation: Binary

This was the easiest thing I ever done in my life. I did not use any form of cheating whatsoever.

Me: Maxbe that's the reason why this level is called "easy". ;-)

----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2020.01.13 14:09:04 (UTC+1)
Name: DJ

Comment:
Game 'Number systems' solved in 31.528s. Difficulty: Easy, Operation: Binary

This game is fun

Me: Yes, it is.



----------------------------------------------------

Page: technics-base-circuits-encoder-disc_en.htm
Date: 2020.01.11 17:59:37 (UTC+1)
Name: Michael R. -USA

Comment:
I have devised a basic calculator spreadsheet for the purpose of designing encoder disks with different number of teeth and sensors. Currently, it can solve for pulses/revolution and accuracy per cm or inch. It's main function is to calculate the accuracy of a DIY draw-wire encoder for a milling machine conversion project.
https://tinyurl.com/encoder-calc

Me: Nice work, thanks for sharing.

----------------------------------------------------

Page: robospatium-controlstation-R13_en.htm
Date: 2020.01.09 15:03:07 (UTC+1)
Name: alex

Comment:
Hello

Me: Hello, too!

----------------------------------------------------

Page: support-donation-main_en.htm
Date: 2020.01.08 21:44:36 (UTC+1)
Name: rezaia

Comment:
Hi Norbert,
I watched your encoder video and,...
I liked it very much.
You need an encoder to rotate the engine with an encoder and an Arduino.
Is it necessary to have another Arduino for G code?
If so how can I do that

Me: My CNC v2.0 runs 4 motors (3 axes) with a single Arduino Uno (as long as the pulses per second from the encoder aren't too high). Making it understand G-code means making changes to the terminal program that runs on the host PC. So the answer is "Yes", but I haven't done that coding, yet.

----------------------------------------------------

Seite: technics-base-circuits-constant-voltage_ge.htm
Datum: 2020.01.08 09:43:24 (UTC+1)
Name: florian

Kommentar:
ihr müsst den Artikel nochmal überprüfen

Me: Nur wenn du GENAU sagst, warum.

----------------------------------------------------

Seite: games-calculator-01_ge.htm
Datum: 2020.01.08 00:26:54 (UTC+1)
Name: Michael

Kommentar:
Spiel 'Rechenspiel' gemeistert in 21.512s. Schwierigkeitsgrad: Leicht, Rechenoperator: Addition

Witzig
werde mal öfter reinschauen.
Frohes neues Jahr

Me: Danke, bis demnächst!

----------------------------------------------------

Seite: contact_ge.htm
Datum: 2020.01.07 19:03:55 (UTC+1)
Name: Kliewer Christian

Kommentar:
Guten Tag,

Ich habe mir ein Laser gravieren zugelegt und würde den gerne in der Garage nutzen und nicht im Büro.
Das Problem ist das er an einem PC angeschlossen sein muss.
Auf den suche nach einer Lösung bin ich auf ihre Internetseite gestoßen und finde ihr Lösung mit der Rassberry pi sehr interessant.

Konnten sie mir die Programme und eine kurze Anleitung zukommen lassen?

Da wäre ich Ihnen sehr verbunden.

Gruß Kliewer

Me: "Ein Lasergravierer". Soll ich nun raten welchen?!? Ich habe sehr viele Lösungen mit einem Raspberry Pi auf meinen Seiten. Welche ist nun die interessante?!?
Links zu den von mir verwendeten Programmen befinden sich in den jeweiligen Kapiteln. Welches fehlt denn?!?
Wie Fragen richtig zu stellen sind, steht in der Rubrik Kontakt.



----------------------------------------------------

Page: technics-machines-plotter-cdrom_en.htm
Date: 2020.01.05 17:11:20 (UTC+1)
Name: Arif

Comment:
not executing any option on key press just wrote down their key value

Me: It's an issue with Raspbian Buster. I have changed the source code of the plotter-cdrom.c to make it work again. Download the new plotter-cdrom.zip and follow the instructions of the new readme.txt to recompile the code.

----------------------------------------------------

Page: games-calculator-01_en.htm
Date: 2020.01.05 06:27:16 (UTC+1)
Name: Adamas

Comment:
Game 'Calculation game' solved in 1578202027.365188s. Difficulty: Easy, Operation: Add

I think you time calculation may be buggy. that is a large number of seconds

Me: It is, indeed (about 50 years). It's a bug related to apple Os. Since I don't live in the walled prison, I can't see what's causing this error, sorry.

----------------------------------------------------

Seite: technics-machines-3D-printer-Granule-Extruder_ge.htm
Datum: 2020.01.04 14:45:56 (UTC+1)
Name: Marc Humer

Kommentar:
Wie vermeidest du die statische Aufladung des Schredder-Kunststoffes?

lg, Marc

Me: Bislang überhaupt nicht, weil ich damit keine wirklichen Probleme habe.

----------------------------------------------------

Page: robospatium-controlstation-R11_en.htm
Date: 2020.01.02 22:34:02 (UTC+1)
Name: Mr. T

Comment:
Hi Norbert,
sehr cool mit dem Rover!
DANKE
MfG Theo

Me: Bitte gerne!

----------------------------------------------------

Seite: technics-electrical-engineering-magnets_ge.htm
Datum: 2019.12.28 18:01:15 (UTC+1)
Name: Marvin

Kommentar:
Tolle Erklärungen!!! Derzeit arbeite ich an einem Schulprojekt mit Magneten. Ich suche nach einer Darstellung von Stabmagenten in Reihe. Etwa so:

Modell 1: N=====S N=====S N=====S (Mit Abstand von ca. 2 mm)

Modell 2: N=====SN=====SN=====S (Ohne Abstand der Magnete)

Was passiert mit den Feldlinien bei den beiden Modellen? Ich stelle nämlich fest, dass sich bei Modell 1 ein deutlich stärkeres Magnetfeld entlanng der Längsrichtung einstellt als bei Modell 2. Wieso verändert sich das Magnetfeld?

Me: Aähnlich wie in den Abbildungen 2 bis 4 erstrecken sich in dem von dir skizzierten Fall die Magnetfeldlinien um so weniger in den umgebenden Raum, je kleiner der Abstand zwischen den Magneten.

----------------------------------------------------

Page: games-calculator-01_en.htm
Date: 2019.12.28 17:34:35 (UTC+1)
Name: Franco Calagreti

Comment:
Game 'Calculation game' solved in 92.251s. Difficulty: Heavy, Operation: Add

Dank
Norbert Heinz
w00

Me: Bitte gerne!




----------------------------------------------------

Page: robospatium-controlstation-R13_en.htm
Date: 2019.12.27 15:56:27 (UTC+1)
Name: Friedrich

Comment:
Cooler rover!

Me: Danke und: Weitersagen!

----------------------------------------------------

Page: technics-machines-Laser-Engraver-NEJE-KZ3000_en.htm
Date: 2019.12.26 07:32:43 (UTC+1)
Name: Buckie

Comment:
My images are being etched as a negative, white areas are etched as black. Why is this happening?

I also can not send images larger than 245px * 245px. If I send a 300px * 300px image it says...

Data received !
Filename="Untitled.bmp"
Length of file data is 12422 bytes.

But it never starts to etch. If I reduce it to 245px * 245px, I get this...

Data received !
Filename="Untitled.bmp"
Length of file data is 8126 bytes.

Then it prints (but as a negative)

Me: Once more: Did you try one of the example files that are part of the download package or did you use an own file? For the later case I need that file (send it to me) to see what is wrong with it.

----------------------------------------------------

Page: technics-machines-Laser-Engraver-NEJE-KZ3000_en.htm
Date: 2019.12.25 22:26:16 (UTC+1)
Name: Brian

Comment:
Followed all the steps and I am able to "Preview Edges" and see the laser move. I select a small file and click start and I see this Status message "Command MachineSTARTburntime030laser060laserPowerIdle001 received!"

But... it does not start to etch. I can hit Stop (Command MachineSTOP received!), Pause (Command MachinePAUSE received!). Nothing I do will let it start to etch.

Can you help?

Me: Did you try one of the example files that are part of the download package or did you use an own file? For the later case I need that file (send it to me) to see what is wrong with it.




----------------------------------------------------

Page: technics-machines-cnc-v3-1_en.htm
Date: 2019.12.22 10:18:56 (UTC+1)
Name: Matej

Comment:
Hello Norbert! Can you send me the code that you used in that linear drive?

Me: What EXACTLY do you mean with "that linear drive"?!? I have made more than one project using linear drives and I am no mentalist...

----------------------------------------------------

Seite: games-memory-01_ge.htm
Datum: 2019.12.17 12:44:57 (UTC+1)
Name: A. Beier

Kommentar:
Spiel 'Zahlenpaare' gemeistert in 193.59s. Schwierigkeitsgrad: Mittel

Einfach Coole Seite!

Me: Danke!

----------------------------------------------------

Page: technics-machines-Laser-Engraver-NEJE-KZ3000_en.htm
Date: 2019.12.15 14:21:09 (UTC+1)
Name: Christian

Comment:
hi

i have problems getting it to burn. the image is bmp  390x400 pixls..
when i hit start nothing happens :(


Me: "bmp 390x400 pixel" is no description of a bitmap file, without having it, I can't say anything about what is wrong with it.
Nor is "nothing happens" a sufficient description of what you have done bofore hitting "start" on whatever software?!?!
Read all notes in my chapter contact to see how questions being worth an answer should look like...

----------------------------------------------------

Seite: technics-machines-Laser-Engraver-NEJE-KZ3000_ge.htm
Datum: 2019.12.14 18:05:31 (UTC+1)
Name: Sebastian "Basti Elektronik"

Kommentar:
Beim Text unter Abb. 7 ist dir ein Fehler unterlaufen "rein rechnerich betrachetet.

Wird "Tatze" nicht mit "tz" geschrieben? Oder hab ich da ne Blockade?

LG Sebastian
Ps: Tolle Posts auf der Seite!

Me: Ausgereschnet isch als Hesse mach en 'ch' wo en 'sch' hingehört - unerhört! ;-)
Die 'Tatze' schreiben auch wir Hessen mit 'tz'.
Danke für die Hinweise, Korrekturen sind gesetzt.

----------------------------------------------------

Seite: contact_ge.htm
Datum: 2019.12.13 12:37:58 (UTC+1)
Name: Wolfgang Tröber

Kommentar:
Guten Tag Norbert Heinz,
Danke für Ihre Antwort.
Ich bin nicht so der Experte und möchte nicht im Grbl etwas umschreiben.Das Versteh ich nicht richtig, da kommt mir der Phasentauschen als machbar. Welche Farben muß ich da tauschen.Jetzt habe ich am Motorstecker mit Blick auf Motor Links rot , dann folgt schwarz, blau und rechts ist grün.
Ich sage schon mal Danke für Ihre Antwort. Mfg Wolfgang Tröber

Me: Das wäre nicht grbl umschreiben, sondern lediglich eine Variable geändert abspeichern, geht aber auch mit dem Phasentausch.
Um herauszufinden, welche Paare zu einer Phase gehören, den Stecker am Board (NICHT am Motor) abmachen. Dann eine Drahtbrücke zwischen zwei Adern einklemmen (Stück dünnen Draht in den Stecker). Dreht sich der Motor deutlich schwerer per Hand, sobald die beiden Drähte kurzgeschlossen sind, so gehören die beiden Drähte zu einer Phase. Dreht sich der Motor weiterhin leicht, so sind die beiden Drähre von unterschiedlichen Phasen.
Der Test muss bei ABGESCHALTETER Maschine erfolgen. Niemals den Motor ausstöpseln, wenn Spannung am Board anliegt!

----------------------------------------------------

Seite: contact_ge.htm
Datum: 2019.12.11 10:25:04 (UTC+1)
Name: Wolfgang Tröber

Kommentar:
Guten Morgen Norbert Heinz,
Ich bitte mal um Ihre Hife, mein Problem mit der CNC 3018.
Ich habe mir diese Fräse gekauft weil ich in diese Materie einsteigen möchte. Der Kauf ist erfolgt , die Fräse ist zusammen gebaut, die Software aufgespielt, die Fräse kann ich auch ansteuern. Leider fährt der Spindelmotor bei anklicken auf Pfelspitze nach unten , an der Maschine aber nach oben. Mit der andern Pfelspitze ist es genauso. Der X Achse läuft richtig. Ichwürde mich sehr über eine Hilfe freuen.MFG.W

Me: Sollte diese Maschine mit grbl laufen, so kann man die Richtung der Achsen mit $3 setzen/ändern. wie das geht, steht im Wiki zu grbl:
https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration
Man kann auch Hardwareseitig zwei Leitungen einer Phase an dem Stecker des betreffenden Schrittmotors tauschen.

----------------------------------------------------

Page: games-numbersystem-01_en.htm
Date: 2019.12.10 19:40:44 (UTC+1)
Name: VideoGameDunkey

Comment:
Game 'Number systems' solved in 71.025s. Difficulty: Easy, Operation: Hexadecimal

This is nitpicking and biased, I win, bye bye.

Me: A bit more practice before going to higher difficulties? ;-)

----------------------------------------------------

Seite: technics-base-circuits-encoder-disc_ge.htm
Datum: 2019.12.09 10:16:38 (UTC+1)
Name: Michael

Kommentar:
Hey,
Super Video! Im Video sprichst du bei zu vielen Pulsen und vom dadurch bedingten "überlesen" von Pulsen. Wenn man nun den Mega nimmt und 6 Drehgeber ausliest, (von den auf eBay mit 360p per Umdreh.) bei welcher Geschwindigkeit stößt der Mega dann an seine Grenzen, kann man das errechnen??
Vielen Dank und Grüße,
Michael

Me: Wo die Grenze liegt, hängt davon ab, was der Microcontroller sonst noch so abzuarbeiten hat. Je umfangreicher das Programm, um so niedriger die Frequenz. Verwendet man die Hardware-Interrupts (der Mega hat 6 derartige Pins) und programmiert in diesen Routinen nur sehr wenig Code, so können problemlos 10.000 und mehr Pulse pro Sekunde abgearbeitet werden.

----------------------------------------------------

Page: technics-base-circuits-computer-mouse_en.htm
Date: 2019.12.05 14:05:10 (UTC+1)
Name: Hello Norbert :)

Comment:
(From your "computer mouse" page) I finished my arduino 4WD car project (with arduino nano), I want to add a spcp168a chip readings, I managed to turn it on with vcc +5 and gnd, but I don't know if the pins are correct, i connected 2 as PD, 3 as SD and 4 as SCLK ... Can you see the datasheet? (Please)
http: //datasheetcafe.databank.netdna-cdn.com/wp-content/uploads/2015/11/SPCP168A.pdf
If they are correct, is the data reading different? how would it be?
Thank you.
Roberto Ortega

Me: There is more than just one mouse project on that page. You must tell me EXACTLY what sample codes you refer to and what reading you want to get. X/Y coordinates or do you want to play with the camera hack of the optical mouse?



----------------------------------------------------

Page: robospatium-controlstation-R11_en.htm
Date: 2019.12.05 15:16:58 (UTC+1)
Name: maki

Comment:
gerade repariert und ward nicht mehr gesehen...schade :-))

Me: ...hab mich nach der Reparatur gleich wieder aus dem Staub gemacht ;-)




----------------------------------------------------

Seite: robospatium_ge.htm
Datum: 2019.12.05 15:10:49 (UTC+1)
Name: Maki

Kommentar:
Oh sorry!!! ich wollte eigentlich nur nochmal aus dem Fenster sehen.
(Ich hab noch gebremst glaube ich)

Me: Kein Problem. Musste deswegen ja kein Reperaturteam mit ner Rakete zum Mars schicken ;-)




----------------------------------------------------

Seite: robospatium_ge.htm
Datum: 2019.12.05 10:20:24 (UTC+1)
Name: Maki

Kommentar:
mit ein bischen Übung fährt es sich ganz gut, leider "lost connection" nach ein gewisser Zeit.Auf jeden Fall ein Klasse Projekt, ich verfolge es schon lange.

Me: Da hab ich die Umrandung letztens erst erhöht, aber du hast es dennoch wieder geschafft, irgendwo drüber zu fahren ;-)
R11 ist somit wieder mal von seiner Plattform runtergeplumst. Bin gerade den Strommast am Kleben, dann geht der Rover wieder online...


----------------------------------------------------

Page: technics-base-circuits-multivibrator_en.htm
Date: 2019.12.04 21:45:33 (UTC+1)
Name: Adrian

Comment:
What are the values of the resistors in all these circuits?

Me: All resistance values of the sample circuits are on the page, aren't they?



----------------------------------------------------

Page: technics-machines-Laser-Engraver-NEJE-KZ3000_en.htm
Date: 2019.11.30 12:02:29 (UTC+1)
Name: Düsseldorf Doug

Comment:
"only runs under Windows which is a closed source operating system with integrated espionage functions"  --- LOL!  very well stated!


Me: Thanks, Doug!

----------------------------------------------------

Seite: games-calculator-01_ge.htm
Datum: 2019.11.29 13:58:57 (UTC+1)
Name: Dimi

Kommentar:
Spiel 'Rechenspiel' gemeistert in 1575032331.679s. Schwierigkeitsgrad: Mittel, Rechenoperator: Addition

Hi

Me: Hi, too!

----------------------------------------------------

Seite: games-calculator-01_ge.htm
Datum: 2019.11.28 07:25:52 (UTC+1)
Name: Schütti

Kommentar:
Spiel 'Rechenspiel' gemeistert in 49.282s. Schwierigkeitsgrad: Mittel, Rechenoperator: Addition

Doch noch so schnell auf meine Alten Tage

Me: Dem "schnell" stimme ich zu, das mit den "Alten Tage" ist relativ ;-)

----------------------------------------------------

Page: technics-machines-v-plotter_en.htm
Date: 2019.11.28 00:35:53 (UTC+1)
Name: Bill

Comment:
https://www.buyapi.ca/product/sg90-180-degrees-9g-micro-servo-motor-tower-pro/  is good for micro servo?

Thanks

Me: How should I know? I am no mentalist. Its a cheap servo that should work. For how long depends on the load you apply to the mechanics with it's plastice wheels.




----------------------------------------------------

Seite: robospatium_ge.htm
Datum: 2019.11.20 11:37:52 (UTC+1)
Name: Peter

Kommentar:
Dann testen wir mal :-)

Me: Nur zu und viel Spaß dabei!

----------------------------------------------------