![]() |
Forum Index : Microcontroller and PC projects : Programming the Micromite in Linux
Author | Message | ||||
Spacedementia87 Newbie ![]() Joined: 03/08/2016 Location: United KingdomPosts: 26 |
Hi everyone. I am super confused. I have used an arduino Nano to successfully upload the micromite firmware to the chip. However now comes the task of talking to the chip. So i pulled out any connections and connected the TXD and RXD to the relevant pins on the chip along with the 3.3v and the gnd with the capacitors. Now I don't know what to do. I am on linux and MMEdit only has a windows version. The ports are listed as COM1 etc when run in wine. So that is now good. When i open minicom I get a terminal window that looks like this: Welcome to minicom 2.7 OPTIONS: I18n Compiled on Feb 7 2016, 13:37:27. Port /dev/ttyUSB0, 14:18:02 Press CTRL-A Z for help on special keys Now what? How do I actually communicate with the micromite I have just set up? |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10209 |
What sort of Micromite? The 28-pin (or 44-pin) will need a USB/UART to connect between the Micromite and the computer. The 64 or 100-pin can connect directly to the computer's USB port but can also be connected with a USB/UART A suitable USB/UART would be something like this |
||||
Spacedementia87 Newbie ![]() Joined: 03/08/2016 Location: United KingdomPosts: 26 |
It is a 28 pin. But I am using the arduino nano. Is that on acceptable? |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10209 |
To use the Nano as a USB/UART you would either have to disconnect the output of the USB chip from the Arduino so you could connect to the Micromite, or write/find a program for the Arduino that acts as a serial forwarder. This isn't really a sensible approach - better to invest in a proper USB/UART |
||||
Spacedementia87 Newbie ![]() Joined: 03/08/2016 Location: United KingdomPosts: 26 |
Ok fair enough. I was under the impression I could do it all with the nano. I'll try and get hold of a usb/uart |
||||
WhiteWizzard Guru ![]() Joined: 05/04/2013 Location: United KingdomPosts: 2932 |
If you contact me I can help you out with this ![]() |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2429 |
not quite - if you jumper the RST pin of the nano to ground, the 328p processor will be held in reset (all pins hi-Z) and you can access the USB to serial bridge (CH340G) directly on the pins labelled D0 and D1. note that this will be 5v level TTL, while the micromite requires 3v3 levels. using 2k2 series resistors in both serial data lines will solve this mismatch. use resistors in both as there is a 50/50 chance you'll get RxD and TxD connected up the wrong way round on the first try. i've not tried using a nano as just a bridge, but in theory it will work. but as others have said, when a CP2102 serial bridge from ebay costs just a couple of dollars that becomes the wiser approach. cheers, rob :-) |
||||
Quazee137![]() Guru ![]() Joined: 07/08/2016 Location: United StatesPosts: 593 |
This is MyWork.sh #------------------------------------------------------- #!/bin/bash gnome-terminal -t USB0, -e "minicom --color=on ttyUSB0" gnome-terminal -t USB1, -e "minicom --color=on ttyUSB1" gnome-terminal -t USB2, -e "minicom --color=on ttyUSB2" gnome-terminal -t USB3, -e "minicom --color=on ttyUSB3" gnome-terminal -t USB4, -e "minicom --color=on ttyUSB4" gnome-terminal -t USB5, -e "minicom --color=on ttyUSB5" x-tile g 2 3 play /home/papa/Sounds/BeatPlucker.ogg read $key #--------------------------------------------------------- And here is .minirc.ttyUSB0 the rest are the same except the pu port. Each was done sudo minicom -s then saved as ttyUSBx # Machine-generated file - use setup menu in minicom to change parameters. pu port /dev/ttyUSB0 pu baudrate 38400 pu updir MMBasic/work pu downdir MMBasic/work pu rtscts No pu mfcolor BLACK pu mbcolor CYAN pu tfcolor BLACK pu tbcolor WHITE pu sfcolor RED pu sbcolor CYAN pu macenab No pu askdndir Yes pu linewrap Yes I use a powered 7 USB hub with switches and can power down the MicroMite I'm work with. each MicroMite has print "it's name and the program name" makes it easy to who and what is where. |
||||
piclover Senior Member ![]() Joined: 14/06/2015 Location: FrancePosts: 134 |
To upload/download programs to/from the Micromite under Linux, I'm using AUTOSAVE/LIST ALL with either "Moni" (A Tcl/Tk program, available from http://www.rolf-schroedter.de/moni/ ), or the good old Nedit editor (an OpenMotif based text editor https://sourceforge.net/projects/nedit/ ) with a couple of auxiliary Python programs (I don't remember where I got them from on the Web...) that I slightly modified to fit the Micromite needs. Here are the sendserial and grabserial auxiliary programs: #!/usr/bin/env python # # sendserial - program to write to a serial port data coming from to stdin MAJOR_VERSION=1 MINOR_VERSION=0 REVISION=0 import os, sys import getopt import serial import time import re cmd = os.path.basename(sys.argv[0]) verbose = 0 def vprint(message): if verbose: print(message) def usage(rcode): print("""%s : Serial line reader Usage: %s [options] <config_file> options: -h, --help Print this message -d, --device=<devpath> Set the device to read (default '/dev/ttyS0') -b, --baudrate=<val> Set the baudrate (default 115200) -w, --width=<val> Set the data bit width (default 8) -p, --parity=<val> Set the parity (default N) -s, --stopbits=<val> Set the stopbits (default 1) -x, --xonxoff Enable software flow control (default off) -r, --rtscts Enable RTS/CTS flow control (default off) -f, --force-reset Force pyserial to reset device parameters -t, --timeout=<secs> End the program after the specified seconds have elapsed. -c, --command=<cmd> Send a command to the port before sending -k, --breakcmd=<cmd> Send a break and then a command to the port before sending -q, --quitpat=<pat> Specify a regular expression pattern to end the program. Works mid-line. -i, --input=<name> Input file to read data from. -v, --verbose Show verbose runtime messages -V, --version Show version number and exit """ % (cmd, cmd)) sys.exit(rcode) def device_exists(device): try: from serial.tools import list_ports for port in list_ports.comports(): if port[0] == device: return True return False except: return os.path.exists(device) def main(): global verbose # parse the command line options try: opts, args = getopt.getopt(sys.argv[1:], "hd:b:w:p:s:xrfc:k:et:i:vVq:", [ "help", "device=", "baudrate=", "width=", "parity=", "stopbits=", "xonxoff", "rtscts", "force-reset", "command=", "breakcmd=", "eof", "timeout=", "input=", "verbose", "version", "quitpat="]) except: # print help info and exit print("Error parsing command line options") usage(2) sd = serial.Serial() sd.port="/dev/ttyS0" sd.baudrate=115200 sd.bytesize=serial.EIGHTBITS sd.parity=serial.PARITY_NONE sd.stopbits=serial.STOPBITS_ONE sd.xonxoff=False sd.rtscts=False sd.dsrdtr=False sd.timeout=0 force = False quitpat = '' sendeof=0 timeout = 0 inputfile = None command = "" sendbreak = 0 for opt, arg in opts: if opt in ["-h", "--help"]: usage(0) if opt in ["-d", "--device"]: device = arg if not device_exists(device): print("Error: serial device '%s' does not exist" % device) sd.close() usage(2) sd.port = device if opt in ["-b", "--baudrate"]: baud = int(arg) if baud not in sd.BAUDRATES: print("Error: invalid baud rate '%d' specified" % baudrate) print("Valid baud rates are: %s" % str(sd.BAUDRATES)) sd.close() sys.exit(3) sd.baudrate = baud if opt in ["-p", "--parity"]: par = arg.upper() if par not in sd.PARITIES: print("Error: invalid parity '%s' specified" % par) print("Valid parities are: %s" % str(sd.PARITIES)) sd.close() sys.exit(3) sd.parity = par if opt in ["-w", "--width"]: width = int(arg) if width not in sd.BYTESIZES: print("Error: invalid data bit width '%d' specified" % width) print("Valid data bit widths are: %s" % str(sd.BYTESIZES)) sd.close() sys.exit(3) sd.bytesize = width if opt in ["-s", "--stopbits"]: stop = int(arg) if stop not in sd.STOPBITS: print("Error: invalid stopbits '%d' specified" % stop) print("Valid stopbits are: %s" % str(sd.STOPBITS)) sd.close() sys.exit(3) sd.stopbits = stop if opt in ["-c", "--command"]: command = arg if opt in ["-k", "--breakcmd"]: command = arg sendbreak = True if opt in ["-x", "--xonxoff"]: sd.xonxoff = True if opt in ["-r", "--rtscts"]: sd.rtscts = True if opt in ["-f", "--force-set"]: force = True if opt in ["-q", "--quitpat"]: quitpat=arg if opt in ["-e", "--eof"]: sendeof = True if opt in ["-t", "--timeout"]: endstr=arg try: timeout = time.time()+float(endstr) except: print("Error: invalid timeout %s specified" % arg) sd.close() sys.exit(3) if opt in ["-i", "--input"]: inputfile = arg if opt in ["-v", "--verbose"]: verbose=1 if opt in ["-V", "--version"]: print("grabserial version %d.%d.%d" % (MAJOR_VERSION, MINOR_VERSION, REVISION)) sd.close() sys.exit(0) # if verbose, show what our settings are vprint("Opening serial port %s" % sd.port) vprint("%d:%d%s%s:xonxoff=%d:rtscts=%d" % (sd.baudrate, sd.bytesize, sd.parity, sd.stopbits, sd.xonxoff, sd.rtscts)) if timeout: vprint("Program will end in %s seconds" % endstr) if quitpat: vprint("Instant pattern '%s' to exit program" % quitpat) if inputfile: try: inpt = open(inputfile, "rb") except IOError: print("Can't open input file '%s'" % inputfile) sys.exit(1) vprint("Readind data from '%s'" % inputfile) curline = "" vprint("Use Control-C to stop...") if force: # pyserial does not reconfigure the device if the settings # don't change from the previous ones. This causes issues # with (at least) some USB serial converters toggle = sd.xonxoff sd.xonxoff = not toggle sd.open() sd.close() sd.xonxoff = toggle sd.open() sd.flushInput() sd.flushOutput() if sendbreak: sd.write("\x03") sd.flush() if command: sd.write(command + "\n") sd.flush() gotcr = 0 # read from the serial port until something stops the program while(1): try: if inputfile: x = inpt.read(1) else: x = sys.stdin.read(1) # see if we're supposed to stop yet if timeout and time.time()>timeout: vprint("Timeout reached") break # if we didn't read anything, exit if len(x)==0: break if x=="\r": gotcr = True # send data to port if x=="\n": curline = "" if gotcr: sd.write(x) gotcr = 0 else: sd.write("\r\n") else: sd.write(x) curline += x sd.flush() # Exit the loop if quitpat matches if quitpat and re.search(quitpat, curline): vprint("Quit pattern found") break except: break if sendeof: sd.write("\x1a") sd.flush() sd.close() if inputfile: inpt.close() main() #!/usr/bin/env python # # grabserial - program to read a serial port and send the data to stdout # # Copyright 2006,2015 Sony Corporation # # This program is provided under the Gnu General Public License (GPL) # version 2 ONLY. This program is distributed WITHOUT ANY WARRANTY. # See the LICENSE file, which should have accompanied this program, # for the text of the license. # # 2006-09-07 by Tim Bird <tim.bird@sonymobile.com> # # To do: # * buffer output chars?? # # CHANGELOG: # 2016.04.23 - Version 1.8.1b - added the -k/--breakcmd option # 2015.04.23 - Version 1.8.1 - remove instructions for applying LICENSE text # to new files, and add no-warranty language to grabserial. # 2015.03.10 - Version 1.8.0 - add -o option for saving output to a file # add -T option for absolute times. Both contributed by ramaxlo # 2015.03.10 - Version 1.7.1 - add line feed to instantpat result line # 2014.09.28 - Version 1.7.0 - add option for force reset for USB serial # contributed by John Mehaffey <mehaf@gedanken.com> # 2014.01.07 - Version 1.6.0 - add option for exiting based on a # mid-line pattern (quitpat). Simeon Miteff <simeon.miteff@gmail.com> # 2013.12.19 - Version 1.5.2 - verify Windows ports w/ serial.tools.list_ports # (thanks to Yegor Yefromov for the idea and code) # 2013.12.16 - Version 1.5.1 - Change my e-mail address # 2011.12.19 - Version 1.5.0 - add options for mid-line time capture # (instantpat) and base time from launch of program instead of # first char seen (launchtime) - contributed by Kent Borg # 2011-09-24 - better time output and time delta # Constantine Shulyupin <const@makelinux.com> # 2008-06-02 - Version 1.1.0 add support for sending a command to # the serial port before grabbing output MAJOR_VERSION=1 MINOR_VERSION=8 REVISION=1 import os, sys import getopt import serial import time import re cmd = os.path.basename(sys.argv[0]) verbose = 0 def vprint(message): if verbose: print(message) def usage(rcode): print("""%s : Serial line reader Usage: %s [options] <config_file> options: -h, --help Print this message -d, --device=<devpath> Set the device to read (default '/dev/ttyS0') -b, --baudrate=<val> Set the baudrate (default 115200) -w, --width=<val> Set the data bit width (default 8) -p, --parity=<val> Set the parity (default N) -s, --stopbits=<val> Set the stopbits (default 1) -x, --xonxoff Enable software flow control (default off) -r, --rtscts Enable RTS/CTS flow control (default off) -f, --force-reset Force pyserial to reset device parameters -e, --endtime=<secs> End the program after the specified seconds have elapsed. -c, --command=<cmd> Send a command to the port before reading -k, --breakcmd=<cmd> Send a break and then a command to the port before reading -t, --time Print time for each line received. The time is when the first character of each line is received by %s -T, --systime Print system time for each line received. The time is the absolute local time when the first character of each line is received by %s -m, --match=<pat> Specify a regular expression pattern to match to set a base time. Time values for lines after the line matching the pattern will be relative to this base time. -i, --instantpat=<pat> Specify a regular expression pattern to have its time reported at end of run. Works mid-line. -q, --quitpat=<pat> Specify a regular expression pattern to end the program. Works mid-line. -l, --launchtime Set base time from launch of program. -o, --output=<name> Output data to the named file. -v, --verbose Show verbose runtime messages -V, --version Show version number and exit Ex: %s -e 30 -t -m "^Linux version.*" This will grab serial input for 30 seconds, displaying the time for each line, and re-setting the base time when the line starting with "Linux version" is seen. """ % (cmd, cmd, cmd, cmd, cmd)) sys.exit(rcode) def device_exists(device): try: from serial.tools import list_ports for port in list_ports.comports(): if port[0] == device: return True return False except: return os.path.exists(device) def main(): global verbose # parse the command line options try: opts, args = getopt.getopt(sys.argv[1:], "hli:d:b:w:p:s:xrfc:k:tTm:e:o:vVq:", [ "help", "launchtime", "instantpat=", "device=", "baudrate=", "width=", "parity=", "stopbits=", "xonxoff", "rtscts", "force-reset", "command=", "breakcmd=", "time", "systime", "match=", "endtime=", "output=", "verbose", "version", "quitpat="]) except: # print help info and exit print("Error parsing command line options") usage(2) sd = serial.Serial() sd.port="/dev/ttyS0" sd.baudrate=115200 sd.bytesize=serial.EIGHTBITS sd.parity=serial.PARITY_NONE sd.stopbits=serial.STOPBITS_ONE sd.xonxoff=False sd.rtscts=False sd.dsrdtr=False # specify a read timeout of 1 second sd.timeout=1 force = False show_time = 0 show_systime = 0 basepat = "" instantpat = '' quitpat = '' basetime = 0 instanttime = None endtime = 0 outputfile = None command = "" sendbreak = 0 for opt, arg in opts: if opt in ["-h", "--help"]: usage(0) if opt in ["-d", "--device"]: device = arg if not device_exists(device): print("Error: serial device '%s' does not exist" % device) sd.close() usage(2) sd.port = device if opt in ["-b", "--baudrate"]: baud = int(arg) if baud not in sd.BAUDRATES: print("Error: invalid baud rate '%d' specified" % baudrate) print("Valid baud rates are: %s" % str(sd.BAUDRATES)) sd.close() sys.exit(3) sd.baudrate = baud if opt in ["-p", "--parity"]: par = arg.upper() if par not in sd.PARITIES: print("Error: invalid parity '%s' specified" % par) print("Valid parities are: %s" % str(sd.PARITIES)) sd.close() sys.exit(3) sd.parity = par if opt in ["-w", "--width"]: width = int(arg) if width not in sd.BYTESIZES: print("Error: invalid data bit width '%d' specified" % width) print("Valid data bit widths are: %s" % str(sd.BYTESIZES)) sd.close() sys.exit(3) sd.bytesize = width if opt in ["-s", "--stopbits"]: stop = int(arg) if stop not in sd.STOPBITS: print("Error: invalid stopbits '%d' specified" % stop) print("Valid stopbits are: %s" % str(sd.STOPBITS)) sd.close() sys.exit(3) sd.stopbits = stop if opt in ["-c", "--command"]: command = arg if opt in ["-k", "--breakcmd"]: command = arg sendbreak = True if opt in ["-x", "--xonxoff"]: sd.xonxoff = True if opt in ["-r", "--rtscts"]: sd.rtscts = True if opt in ["-f", "--force-set"]: force = True if opt in ["-t", "--time"]: show_time=1 show_systime=0 if opt in ["-T", "--systime"]: show_time=0 show_systime=1 if opt in ["-m", "--match"]: basepat=arg if opt in ["-i", "--instantpat"]: instantpat=arg if opt in ["-q", "--quitpat"]: quitpat=arg if opt in ["-l", "--launchtime"]: print('setting basetime to time of program launch') basetime = time.time() if opt in ["-e", "--endtime"]: endstr=arg try: endtime = time.time()+float(endstr) except: print("Error: invalid endtime %s specified" % arg) sd.close() sys.exit(3) if opt in ["-o", "--output"]: outputfile = arg if opt in ["-v", "--verbose"]: verbose=1 if opt in ["-V", "--version"]: print("grabserial version %d.%d.%d" % (MAJOR_VERSION, MINOR_VERSION, REVISION)) sd.close() sys.exit(0) # if verbose, show what our settings are vprint("Opening serial port %s" % sd.port) vprint("%d:%d%s%s:xonxoff=%d:rtscts=%d" % (sd.baudrate, sd.bytesize, sd.parity, sd.stopbits, sd.xonxoff, sd.rtscts)) if endtime: vprint("Program will end in %s seconds" % endstr) if show_time: vprint("Printing timing information for each line") if show_systime: vprint("Printing absolute timing information for each line") if basepat: vprint("Matching pattern '%s' to set base time" % basepat) if instantpat: vprint("Instant pattern '%s' to set base time" % instantpat) if quitpat: vprint("Instant pattern '%s' to exit program" % quitpat) if outputfile: try: out = open(outputfile, "wb") except IOError: print("Can't open output file '%s'" % outputfile) sys.exit(1) vprint("Saving data to '%s'" % outputfile) prev1 = 0 linetime = 0 newline = 1 curline = "" vprint("Use Control-C to stop...") if force: # pyserial does not reconfigure the device if the settings # don't change from the previous ones. This causes issues # with (at least) some USB serial converters toggle = sd.xonxoff sd.xonxoff = not toggle sd.open() sd.close() sd.xonxoff = toggle sd.open() sd.flushInput() sd.flushOutput() if sendbreak: sd.write("\x03") sd.flush() while(1): try: if len(sd.read())==0: break except: break if command: sd.write(command + "\n") sd.flush() # read from the serial port until something stops the program while(1): try: # read for up to 1 second x = sd.read() # see if we're supposed to stop yet if endtime and time.time()>endtime: break # if we didn't read anything, loop if len(x)==0: continue # ignore carriage returns if x=="\r": continue # set basetime to when first char is received if not basetime: basetime = time.time() if show_time and newline: linetime = time.time() elapsed = linetime-basetime delta = elapsed-prev1 msg ="[%4.6f %2.6f] " % (elapsed, delta) sys.stdout.write(msg) if outputfile: out.write(msg) prev1 = elapsed newline = 0 if show_systime and newline: linetime = time.time() linetimestr = time.strftime( '%y-%m-%d %H:%M:%S', time.localtime(linetime)) elapsed = linetime-basetime delta = elapsed-prev1 msg = "[%s %2.6f] " % (linetimestr, delta) sys.stdout.write(msg) if outputfile: out.write(msg) prev1 = elapsed newline = 0 # FIXTHIS - should I buffer the output here?? sys.stdout.write(x) if outputfile: out.write(x) curline += x # watch for patterns if instantpat and not instanttime and \ re.search(instantpat, curline): # instantpat in curline: instanttime = time.time() # Exit the loop if quitpat matches if quitpat and re.search(quitpat, curline): break if x=="\n": newline = 1 if basepat and re.match(basepat, curline): basetime = linetime elapsed = 0 prev1 = 0 curline = "" sys.stdout.flush() if outputfile: out.flush() except: break sd.close() if instanttime: instanttime_str = '%4.6f' % (instanttime-basetime) msg = '\nThe instantpat: "%s" was matched at %s\n' % \ (instantpat, instanttime_str) sys.stdout.write(msg) sys.stdout.flush() if outputfile: out.write(msg) out.flush() if outputfile: out.close() main() And here are the commands to add to Nedit's Shell menu ("Preferences" -> "Default Settings" -> "Customize Menus" -> "Shell Menu") "Load program from Micromite": grabserial -d /dev/ttyS0 -b 38400 -k "LIST ALL" -q "^> " | tail -n +2 | head -n -1 "Save program to Micromite": sendserial -d /dev/ttyS0 -b 38400 -k "AUTOSAVE" -e Finally, for Nedit users, here is the syntax hilighting definition block I'm using (for capitalized letters MMBASIC commands/functions), to add to the "nedit.highlightPatterns:" section of ~/.nedit/nedit.rc: MMBASIC:1:0{\n\ string constant:"""":"""":"\\n":String::\n\ comment:"(REM|').*$":::Comment::\n\ label:".+:[ \\t]*$":::Label::\n\ constants:"<(?:MM\\.VER|MM\\.DEVICE\\$|MM\\.WATCHDOG|MM\\.I2C|MM\\.ONEWIRE|MM\\.HRES|MM\\.VRES|MM\\.FONTHEIGHT|MM\\ .FONTWIDTH|MM\\.SPIOPEN|MM\\.ERRNO|MM\\.ERRMSG$|BLACK|CYAN|WHITE|RED|GREEN|BLUE|YELLOW|BROWN|MAGENTA|GRAY)>":::Ada Attributes::\n\ flow control:"<(?:DO|WHILE|LOOP|UNTIL|FOR|TO|STEP|NEXT|EXIT|ON ERROR (ABORT|CLEAR|IGNORE|SKIP)|ON|GOSUB|GOTO|KEY|IF|THEN|ELSEIF|ELSE|ENDIF|END|SELECT|CASE|IRETURN|RETURN|RUN|CONTINUE|CFUNCT ION|FUNCTION|SUB|DEFINEFONT|NEW|ERROR)>":::Keyword::\n\ declaration:"<(?:[Cc](ONST|onst)|[Dd](IM|im)|[Aa][Ss] ([Ff](LOAT|loat)|[Ii](NTEGER|nteger)|[Ss](TRING|tring))|[Ff](LOAT|loat)|[Ii](NTEGER|nteger)|[Ss](TRING|tring)|[Ll](ENGTH|ength)|[Ll](OCAL|ocal))>":::Identifier2::\n\ pin:"<(?:[Pp](IN|in))>\\(":"\\)"::Operator::\n\ keyword:"<(?:AUTOSAVE|RBOX|BOX|CIRCLE|CLEAR|CLOSE|CLS|COLOUR|CPU|SLEEP|DATA|DHT22|DS18B20|EDIT|ERASE|FONT|GUI BITMAP|GUI CALIBRATE|GUI TEST TOUCH|GUI TEST LCDPANEL|HUMID|INPUT|IR|SEND|KEYPAD|LET|LCD INIT|LCD CMD|LCD|LINE|LIST|LOCAL|MEMORY|OPEN|CLOSE|OPTION CASE|OPTION PIN|OPTION TOUCH|OPTION|CLOCKTRIM|CONSOLE|DEFAULT|DISPLAY|EXPLICIT|LCDPANEL|TAB|PAUSE|PIXEL|POKE|PORT|PRINT|PULSE|PWM|RANDOMIZE|VAR (READ|RESTORE|SAVE)|READ|RESTORE|SAVE|RTC|SETTIME|SETREG|GETTIME|GETREG|SERVO|SETPIN|SETTICK|TEMPR START|TEXT|TROFF|TRON|WATCHDOG|XMODEM|I2C|SPI OPEN|SPI WRITE|SPI READ|SPI CLOSE|CMD|WRITE|ONEWIRE|RESET)>":::Identifier1::\n\ functions:"<(?:ABS|ASC|ATN|BIN\\$|CHR\\$|CINT|COS|DEG|DISTANCE|EOF|EXP|FIX|HEX\\$|INPUT\\$|INSTR|INT|LEFT\\$|LEN|LO C|LOF|LOG|LCASE\\$|MID\\$|OCT\\$|PEEK|PORT|POS|PULSIN|RAD|RIGHT\\$|RGB|RND|SGN|SIN|SPACE\\$|SPI|SQR|STR\\$|STRING\\$|TAB |TAN|TEMPR|TOUCH|UCASE\\$|VAL|ACOS|ASIN)>":::Operator::\n\ options:"<(?:INTL|INTH|INTB|DOUT|DIN|OFF|AIN|FIN|PIN|CIN|DOUT|PULLUP|PULLDOWN|ILI9341|RLANDSCAPE|LANDSCAPE|RPORTRAI T|PORTRAIT|WORD|BYTE|VARTBL|VARADDR|VAR|CFUNADDR|PROGMEM)>":::Pointer::\n\ variable:"<(?:[Dd](ATE|ate)\\$|[Tt](IME|ime)\\$|[Tt](IMER|imer))>":::Storage Type::\n\ operator:"<(?:[Aa](ND|nd)|[Nn](OT|ot)|[Xx](OR|or)|[Oo][Rr]|[Mm](OD|od)|[Pp][Ii]|[Pp](OS|os)|[Ii](NKEY|nkey)\\$)>":::Operator::\n\ constant:"&<(?:[Bb][01]+|[Oo][0-7]+|[Hh][\\dA-Fa-f]+)>":::Numeric Const::\n\ }\n\ With this, you can easily compete with any Windoze utility. ![]() PS: I almost forgot... For program editing, using the Micromite's built-in full screen editor, I am using PuTTY (the trick to get it to play nice being to use the "ESC[n~" emulation for the function keys, in the Terminal -> Keyboard settings of PuTTY). |
||||
sagt3k![]() Guru ![]() Joined: 01/02/2015 Location: ItalyPosts: 313 |
Hi to everybody If you're using Linux + Micromite through UART port or /dev/ttyUSBx You can Install "ser2net". After you can edit "/etc/ser2net.conf" and insert this for example: 3031:raw:0:/dev/ttyUSB0:38400,8DATABITS,NONE,1STOPBIT Later you can use "MicromiteLab " also under Wine and MicromiteLab with Wine. With MicromiteLab you can use "TCPconnection" with "IP:PORT" for example "127.0.0.1:3031" and use all its features Thanks |
||||
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |