} | } | ||||
else | else | ||||
{ | { | ||||
// Only do command-related stuff if there was actually a command | |||||
// Avoids clogging command history with blanks | |||||
// Add the command to the history | |||||
CLI_saveHistory( CLILineBuffer ); | |||||
// Process the current line buffer | // Process the current line buffer | ||||
CLI_commandLookup(); | CLI_commandLookup(); | ||||
// Add the command to the history | |||||
CLI_saveHistory( CLILineBuffer ); | |||||
// Keep the array circular, discarding the older entries | // Keep the array circular, discarding the older entries | ||||
if ( CLIHistoryTail < CLIHistoryHead ) | if ( CLIHistoryTail < CLIHistoryHead ) | ||||
CLIHistoryHead = ( CLIHistoryHead + 1 ) % CLIMaxHistorySize; | CLIHistoryHead = ( CLIHistoryHead + 1 ) % CLIMaxHistorySize; | ||||
return; | return; | ||||
} | } | ||||
// Don't write empty lines to the history | |||||
const char *cursor = buff; | |||||
while (*cursor == ' ') { cursor++; } // advance past the leading whitespace | |||||
if (*cursor == '\0') { return ; } | |||||
// Copy the line to the history | // Copy the line to the history | ||||
int i; | int i; | ||||
for (i = 0; i < CLILineBufferCurrent; i++) | for (i = 0; i < CLILineBufferCurrent; i++) |
# Virtual Serial Port API Example | # Virtual Serial Port API Example | ||||
# Jacob Alexander 2015 | # Jacob Alexander 2015 | ||||
if [ $# -eq 0 ]; then | |||||
echo "You must specify your virtual serialport. (/dev/ttyACM0 on linux, /dev/cu.usbmodemXXXX on OSX)" | |||||
echo " ex: $0 /dev/ttyACM0" | |||||
exit 1 | |||||
fi | |||||
# XXX Set this to match your virtual serialport | # XXX Set this to match your virtual serialport | ||||
# TODO Show examples for Mac OSX and Cygwin/Windows | |||||
SERIALPORT=/dev/ttyACM0 | |||||
# TODO Show examples for Cygwin/Windows | |||||
# For Mac OSX it will be something like /dev/cu.usbmodem1413 (number may differ) | |||||
SERIALPORT=$1 | |||||
# NOTE: Make sure you don't write too quickly to the serial port, it can get overwhelmed by a modern computer | # NOTE: Make sure you don't write too quickly to the serial port, it can get overwhelmed by a modern computer | ||||
# Generally this just means commands will get ignored | # Generally this just means commands will get ignored |
import sys | import sys | ||||
from array import * | from array import * | ||||
from PIL import Image | |||||
from PIL import Image # Use pillow instead of PIL, it works with Python 3 | |||||
# Convenience class to deal with converting images to a C array | # Convenience class to deal with converting images to a C array | ||||
return display | return display | ||||
filename = "ic_logo_lcd.bmp" | |||||
filename = sys.argv[1] | |||||
if filename is None: | |||||
print( "You must specify a bitmap filename. Try './bitmap2Struct.py ic_logo_lcd.bmp'" ) | |||||
sys.exit( 1 ) | |||||
max_height = 32 | max_height = 32 | ||||
max_width = 128 | max_width = 128 | ||||
x_offset = 0 | x_offset = 0 |
# Virtual Serial Port API Example | # Virtual Serial Port API Example | ||||
# Jacob Alexander 2015 | # Jacob Alexander 2015 | ||||
if [ $# -eq 0 ]; then | |||||
echo "You must specify your virtual serialport. (/dev/ttyACM0 on linux, /dev/cu.usbmodemXXXX on OSX)" | |||||
echo " ex: $0 /dev/ttyACM0" | |||||
exit 1 | |||||
fi | |||||
# XXX Set this to match your virtual serialport | # XXX Set this to match your virtual serialport | ||||
# TODO Show examples for Mac OSX and Cygwin/Windows | |||||
SERIALPORT=/dev/ttyACM0 | |||||
# TODO Show example for Cygwin/Windows | |||||
# For Mac OSX it will be something like /dev/cu.usbmodem1413 (number may differ) | |||||
SERIALPORT=$1 | |||||
# NOTE: Make sure you don't write too quickly to the serial port, it can get overwhelmed by a modern computer | # NOTE: Make sure you don't write too quickly to the serial port, it can get overwhelmed by a modern computer | ||||
# Generally this just means commands will get ignored | # Generally this just means commands will get ignored |