Werkgroep Kennisdag

Werkgroep Kennisdag    Trekker: Leon Konings   Doelstelling Het voorbereiden en plannen van activiteiten tijdens toekomstige Kennisdagen. Tijdens de onze laatste Kennisdag waren er drie locaties, waar wij actief waren: De beursvloer Een grote zaal, waar wij workshops gaven en onverwacht een presentatie vertoonden. Een kleinere zaal, gereserveerd voor een presentatie. Ook in de toekomst krijgen wij wellicht weer de mogelijkheid om ons in dergelijke manier te presenteren. Het is van belang, dat wij onze activiteiten ruim van te voren voorbereiden.   Leden  Albert van der Horst Willem Jager Leon Konings Henny Luijkx Albert Nijhof Willem Ouwerkerk Dick Willemse   Bezigheden  Vervaardigen promotiemateriaal, zoals filmpjes en foto’s Instructieve programma’s maken voor workshops Plannen indeling stand op beursvloer Voorbereiden presentaties Onderhoud benodigde hardware etcetera  

16 september 2024

...

Forth werkgroepen

Voor het starten van werkgroepen hebben we een aantal regels afgesproken Actieve werkgroepen MANX - muziek met forth UniverseelForth - een forth voor elk desktop of laptop platform 'Egel - een werkbook met forth hardware voorbeelden noForth - een moderne ANSI forth met slimme extra's voor MSP430, RISC-V en RP2040 Domotica - met een draadloos netwerk - in forth Project Forth Works - international community sharing sources and solutions using a simple generic forth Kennisdag - maak kennis met forth USBdriver - bare metal versie zonder overhead - een forth research project  

20 april 2024

...

Domotica

WerkgroepDomotica Doel van deze werkgroep Samen een homecontrol systeempje bouwen (no)Forth ervaring opdoen in het samen bouwen van een systeem Ervaring opdoen met verschillende technieken Leden van deze werkgroep Henny Luijkx (trekker) Willem Ouwerkerk Leon Konings Ed Buzzi At van Wijk Frans van der Markt Gebruikte hardware en software noForth op diverse MSP430 bordjes van Texas Instruments Domoticz raspberrypi en de raspberry-pico arduino uno en nano en arduino IDE MySensors gateway software NRF24L01 transceivers op 2.4 GHz voor forth mesh netwerk zenders/ontvangers voor 433 MHz logic analyzer diverse sensoren (BME280 etc.) MecrispStellaris Forth FTDI232

14 juni 2020

...

noForth

noForth is completed!! MSP RISC-V RP2040 (Pico) Trekker: Willem Ouwerkerk Look for 16-bit & 32-bit noForth, see website   See the Egel project for MSP430 De doelstellingen van de MSP ANSI Forth Werkgroep zijn allen gehaald! Het schrijven van een compacte Forth voor de MSP processoren! (Gedaan). Ten eerste voor de Launchpad (Klaar). Ten tweede voor een printje met FRAM aan boord (Klaar). Als derde voor een printje met de MSP430F149 (Klaar). Het schrijven van een werkende assembler en disassembler (Klaar). De compiler en de Forth zullen volledig vrij beschikbaar komen (Klaar). Schrijven van voorbeeld software voor de hardware van de MSP430 (Grotendeels klaar). Dit was de werkplaats voor de MSP ANSI Forth Werkgroep.   OverMSP   16-bit Forth for MSP430 Launchpad See noForth website Note this is a report of the development of noForth   Over het ontwikkelen van MSP noForth (About the development of noForth) Onze interesse voor de MSP chips van Texas Instruments is veroorzaakt door de Launchpad.  MSP Launchpad Dit zijn zeer krachtige doch goedkope bordjes.Inmiddels zijn ze op voorraad bij de Forth gg, compleet voorzien van de stabiele 1210 noForth. Zie: MSP430 Ze werken met een seriele lijn via de USB die ook de voeding verzorgt. Zoals gebruikelijk wordt er gecommuniceerd met dit board via een seriele lijn, maar vanwege USB kan dit extra drivers vereisen. Er is een uitstekende Nederlandse forth noForth. Zie onder. Op de Launchpad kan ook de volgende Forth gezet worden van Duitse origine:4E4th: http://www.somersetweb.com/4E4th/EN.htmlDownload: http://www.forth-ev.de/repos/4e4th/ Deze website bevat ook veel nuttige achtergrond informatie, met name over hoe je drivers moet installeren onder o.a. Windows 7 of Vista. Open http://www.4e4th.eu en klik op de balk aan de rechterkant, waar het zegt Treiber. Onder moderne Linux-en gaat dit allemaal automatisch. Nog moderner maar niet bij ons verkrijgbaar is de FRAM starterkit: MSP-EXP430FR5739 Experimenter's Board.Dit board is wat duurder maar bevat ook een drie-assige versnellings sensor,8 leds, wat drukknoppen en extra connectors.De Forth voor dit systeem, van onze Duitse vrienden is hier te vinden.Download: http://www.forth-ev.de/repos/CF430FR/ Ons systeem heeft de naam noForth meegekregen van Nijhof, Ouwerkerk Forth.Er is een disassembler genaamd DAS en de file ervan is hieronder vinden.Een verslag van de lezing over de ontwikkeling van noForth door Willem.De korte beschrijving van de MSP430 instructieset door Albert Nijhof. Twee voorbeelden van de compacte code voor de MSP430:code Execute ( xt -- ) tos w mov sp )+ tos mov w )+ pc mov end-code code Lit ( -- x ) #2 sp sub tos sp ) mov ip )+ tos mov next end-code In Duitsland is nog een Forth systeem voor de MSP430 te vinden genaamd Mecrisp:Download: http://sourceforge.net/projects/mecrisp/files/ Hier enkele voorbeeld files die draaien op 4E4th versie 0.34 van 15 April: Een MSP430 assembler Een disassembler voor MSP430 Decompiler Morsedemo van de bijeenkomst I2C 'Egel code ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 1,1 All Update 17-08-2012, noForth werkt De noForth metacompiler en broncode zijn nu al zo goed, dat we een werkende Intel-Hex file kunnen produceren. Alle ingebouwde functionaliteit lijkt goed te werken. De source is nog wat te groot en er ontbreken nog wat handige woordjes als WORDS en DUMP. Ook woorden om op de I/O-poorten individuele bits te manipuleren ontbreken nog.Maar de belangrijke elementen werken; VALUE, VARIABLE, : (colon), MARKER, getal in- en uitvoer. Ook het compileren werkt als een speer. Voor het bijwerken van de dictonary in Flash hebben we FREEZE en TIDY, zij doen hun werk ook naar behoren.FREEZE overschrijft de koude start waarden zodat het systeem met de laatst bekende waarden en woorden op zal starten. Wordt het systeem herstart zonder dat er een FREEZE gedaan, dan wordt alleen het niet bevroren gedeelte door TIDY verwijderd. Dat had de gebruiker eigenlijk zelf al moeten doen natuurlijk ;) Bij 4E4th wordt op zo'n moment alle bijgemaakte code verwijderd, dus ook de correcte reeds bevroren data en code!Ondertussen hebben we ook een werkende DUMP en WORDS daarnaast zijn de decompiler SEE, de disassembler DAS en de assembler WAS werkend gemaakt op noForth. Er zijn nog wat problemen bij de implementatie van MARKER. Daar moeten we nog goed naar kijken en eerste verbetering loste niet alle problemen op. Ondertussen zijn we de ANSI core-test aan het draaien, daar zijn we al wat kleine dingen bij tegen gekomen.Einde. Update 29-08-2012,  De noForth1208 betaversie is beschikbaar. Het is zo ver een eerste betaversie is beschikbaar. Alles lijkt goed te werken en de ANSI core test wordt gehaald.Hier wat documentatie en de noForth HEX-file. Schrik niet als hij onForth print, want die naam hanteren we voor de betaversie.Let op wijzig de noForth1208.TXT naar noForth1208.A43 voor de Lite FET-Pro430 programmer.noForth: Zie ook noForth's website Een overzicht: noForth is geschreven 'from scratch'. Bevroren code is net zo veilig als de rest van de noForth code. Foutopvang met CATCH & THROW in noForth. Als er een fout onstaat tijdens het downloaden van een file, wordt de rest van de file niet meer gecompileerd maar weggegooid. Er is ongeveer 256 bytes RAM beschikbaar voor de gebruiker. Het Flash wordt economisch gebruikt. KEY?, KEY en EMIT zijn gevectored. Woorden die nodig zijn om het syteem te bouwen zitten in een aparte woordenlijst, die beschikbaar is! Zoeken en compileren snel (8 threads). Decompiler voor het inspecteren van het systeem. noForth heeft ook VALUE TO +TO INCR De prompt wordt gebruikt voor instelbare trace informatie. Het systeem gebruikt de floored deling. Het Flash geheugen wordt linear gebruikt, het start op C000 en eindigt op FFDE. De files: noForth documentatie noForth English documentation noForth foutmeldingen noForth infoB gebruik De noForth intelHEX-file met TXT extensie Een klein noForth IO voorbeeld De decompiler, WORDS, etc. voor het geval dat.. Een noForth MSP430 assembler Een noForth MSP430 DISassembler Vragen en opmerkingen: Willem Ouwerkerk,RegularLabs.EmailProtector.unCloak("ep_38810769", true); Albert NijhofRegularLabs.EmailProtector.unCloak("ep_fca8d9ea", true); Update 13-10-2012,  is nu ook beschikbaar voor de MSP430FR5739.    MSP exp. board Een deze dagen komt de definitieve versie van noForth beschikbaar voor de Launchpad. We hebben de code nog dichter naar de ANSI standaard toe kunnen brengen waardoor de verschillen in gebruik minimaal geworden zijn. noForth 1210 source: noForth websiteProgrammer: Lite FET Pro430 programmer Daarnaast is er nu een functioneel identieke versie beschikbaar voor de MSP430FR5739. Dit is de chip met het nieuwe FerroRAM van TEXAS instruments, dat geen van nadelen van Flash geheugen heeft. Het is sneller en net als RAM overschrijfbaar, maar onthoudt wel de opgeslagen data! Hij heeft ook nog eens $0200 bytes extra RAM en andere aardige extra's. Beide versies worden uit een source gegenereerd, Marc Hartjes is bezig met een printje voor de MSP430F149 een chip met 60kByte Flash, 2 kByte RAM, 6 I/O-poorten en ADC!!! Op de bijeenkomst van 13 oktober licht hij zijn ontwerp toe. Ontwikkelingen De ontwikkelomgeving van noForth draait nu ook onder gforth op de ' Raspberry Pi ' zodat sprake is van een zeer goedkoop ontwikkel platform!! De volgende stap is het schrijven van voorbeelden voor de ingebakken hardware van de MSP430: Gebruik van de timers voor o.a. PWM, compare- en capture interrupts, etc. UART voor RS232, SPI en I2C (master en slave). Watchdog. ADC. Comparator. I/O-pinnen (o.a. pin oscillator als capacitive schakelaar). Gebruik en setup van de verschillende oscillator's. Instellingen voor verminderen van het stroomverbruik. Gebruik van de interrupts. Aansluiten van bijzondere hardware. Interesse, meld je aan bij: Willem OuwerkerkRegularLabs.EmailProtector.unCloak("ep_841b2518", true); Einde.   Installation 4e4th on TI_launchpad under Linux For the moment you may try 4e4th, an already existing Forth from the German FIG. This document describes the steps to get the 4e4th into the TI-Launchpad. Linux version: Ubuntu 11.10 32 bits. If you use another linux distro your mileage may vary. Use Ubuntu Software Center to Install package 'mspdebug' Install package 'minicom' and/or 'ckermit' This example uses the terminal program minicom to test the connection to 4e4th on the Launchpad, when it is programmed. Set the straps TXD and RXD in the TI_launchpad in hardware-position (HW on board). Download the file: 4e4th.a43 from the internet: http://www.forth-ev.de/repos/4e4th/Release0.34/Exe/4e4th.a43 Connect the TI-launchpad to the USB port. Determine the device of the TI-Launchpad in a terminal: Linux vesta 3.0.0-19-generic #33-Ubuntu SMP Thu Apr 19 19:05:57 UTC 2012 i686 athlon i386 GNU/Linux fransm@vesta:~$ ls -l /dev/ttyACM* crw-rw---- 1 root dialout 166, 0 2012-06-02 19:35 /dev/ttyACM0 Stop the modemmanager from grabbing the port: sudo service --status-all ps -ef | grep modemmanager (first number is the PID) sudo stop modemmanager sudo kill <PID_modemmanager> Program the 4e4th in the MSP430G2553: sudo mspdebug rf2500 "prog 4e4th.a43" Disconnect and reconnect the TI-Launchpad to reset the processor. Now there must be 3 leds burning on the TI launchpad: green powerled green LED2 red LED1 Test the connection: minicom -D /dev/ttyACM0 -b 9600 -o -w Set port connection in software handshake mode with: ctrl-A, O, Serial port setup, (F=No G=Yes), Esc, Esc <Enter> ok words <Enter> S2? S2 GREEN RED P3 P2 P1 UNUSED MEM MEMTOP MEMBOT CGET CTOGGLE CCLR CLR CSET SET MS 1MS BIN PAGE AT-XY BELL .VER \ 2CONSTANT WIPE FACTORY COLD WARM BOOT SAVE VALID? APPCRC ITHERE crc (crc ccrc .S DUMP U.R WORDS MARKER FLALIGNED NOOP ENVIRONMENT? DEPTH MOVE WITHIN LEAVE +LOOP LOOP ENDLOOP DO L> >L REPEAT WHILE AGAIN UNTIL BEGIN ELSE THEN IF POSTPONE ['] ; : IMMEDIATE REVEAL HIDE ] [ RECURSE DOES> (DOES>) CREATE <BUILDS HEADER ( [CHAR] CHAR ' ABORT" ?ABORT ABORT QUIT EVALUATE INTERPRET ?NUMBER >NUMBER ?SIGN DIGIT? LITERAL FIND IMMED? NFA>CFA NFA>LFA WORD >COUNTED /STRING SOURCE IC, I, IALLOT IHERE C, , ALLOT HERE HEX DECIMAL . U. SIGN #> #S # >DIGIT <# HOLD UD* UD/MOD IWORD ." IS" (S") (IS") TYPE ACCEPT UMAX UMIN SPACES SPACE CR COUNT 2OVER 2SWAP 2DUP 2DROP 2! 2@ MIN MAX */ */MOD MOD / /MOD * FM/MOD SM/REM M* DABS ?DNEGATE DNEGATE ABS ?NEGATE S>D APPU0 INFOB COR #INIT UINIT BL TIBSIZE TIB S0 R0 L0 PAD CAPS APP NEWEST IDP LP HP LATEST 'SOURCE DP STATE BASE >IN U0 ,NONE !DEST ,DEST ,BRANCH ,EXIT !COLON ,JMP ,CALL ,CF !CF COMPILE, >BODY CHARS CHAR+ CELLS CELL+ CELL ALIGNED ALIGN ZERO KEY? KEY EMIT N= S= SCAN SKIP I->D CMOVE> CMOVE FILL UM/MOD UM* UNLOOP J I (+loop) (loop) (do) ?branch branch U> U< > < <> = 0< 0= RSHIFT LSHIFT 2/ 2* >< 1- 1+ NEGATE INVERT XOR OR AND - M+ +! + D->I IC! I! FLERASE C! C@ ! @ TUCK RP! RP@ SP! SP@ R@ R> >R NIP ROT OVER SWAP DROP ?DUP DUP USER CONSTANT VARIABLE EXIT lit EXECUTE ok 7 39 3 */ . <Enter> 91 ok green cclr <Enter> green cset <Enter> red cclr <Enter> red cset <Enter> 0 p1 ! <Enter> Leave minicom with the keys ctrl-A, X, Yes Study the documentation of 4e4th and enjoy. With thanks to the excellent work of the German Forth Gesellschaft.  

14 juni 2020

...

'Egel

De 'Egel werkgroep bestaat al enige decennia. Zie ook het 'Egel project en het 'Egel werkboek. De laatste tijd concentreert de werkgroep zich op de Texas Instrument processor MSP430. De doelstellingen van de 'Egel Werkgroep voor MSP430: 'Egel werkboek omwerken voor de moderne AVR processoren en/of MSP430. Selecteren van een basis processor voor de nieuwe versie. Uitbreiden van de bestaande set voorbeelden. b.v. GPS, Bluetooth, Netwerk I/O, Bootloader, Ultrasoon-afstandsmeter, voorbeelden van alle interne mogelijkheden van de MSP430 (I2C, PBM, SPI, etc.) Een Engelstalige versie maken. Trekker: Willem OuwerkerkRegularLabs.EmailProtector.unCloak("ep_f61b85af", true); Aanmeldingen voor deze werkgroep zijn van harte welkom! See the Egel project for MSP430

14 juni 2020

Actueel

'Meld je aan voor de nieuwsbrief' van HCC!forth

'Abonneer je nu op de nieuwsbrief en blijf op de hoogte van onze activiteiten!'

Aanmelden