123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- #!/bin/sh
- # replace_msgs.sh - step3 - replace source and generate messages.h and messages.c files
- #mkdir ./source
- #files=$(ls ../Firmware/*.c* | grep -v 'language'; ls ../Firmware/*.h | grep -v 'language'; )
- #cp $files ./source/
- #exit
- files=$(ls ./source/*.c* | grep -v 'language'; ls ./source/*.h | grep -v 'language'; )
- #echo "$files"
- #list messages used only once
- #msgs=$(cat msgs_usage.txt | grep " 1$" | cut -f1 -d' ')
- #make regular expression from the list - replace spaces with '\b|\b'
- #msgs=$(echo $msgs | sed "s/ /\\\b\\\|\\\b/g")
- #filter this messages from msgs_en.txt to msgs_en_1.txt
- #cat msgs_en.txt | grep "$msgs" > msgs_en_1.txt
- cat msgs_en_X.txt | sed "s/\\\\/\\\\\\\\/g;s/\//\\\\\\\\\//g" | while read name cols rows text; do
- comment="$name $cols $rows"
- if sed -i -E "s/(.*)(\b$name\b)(.*)$/\1_i\($text\)\3\/\/\/\/$comment/g" $files; then
- echo "$name OK"
- else
- echo "$name NG!"
- fi
- done | tee replace2.out
- read
- #grep "$msgs" $files > msg_.txt
- exit
- cat msgs_en.txt | grep
- echo "$msgs" | while read name; do
- # sed -i "s/\b$name\b/_i\(\"$text\"\)/g" ./source/ultralcd.cpp
- done
- read
- exit
- #
- name=MSG_INFO_NOZZLE_FAN
- text="Nozzle FAN:"
- #grep "\b$name\b" $files
- sed -i "s/\b$name\b/_i\(\"$text\"\)/g" ./source/ultralcd.cpp
- read
- exit
- #unused messages will be listed in msgs_unused.txt.
- cat msgs_usage.txt | grep " 0$" | cut -f1 -d' ' >msgs_unused.txt
- #remove generated source files
- if [ -e messages.h ]; then rm messages.h; fi
- if [ -e messages.c ]; then rm messages.c; fi
- #messages used twice or more will be listed in messages.h and messages.cpp.
- msgs=$(cat msgs_usage.txt | grep -v " 0$" | cut -f1 -d' ')
- echo '//messages.h' > messages.h
- echo '#include <avr/pgmspace.h>' >> messages.h
- echo '//messages.c' >> messages.c
- echo '#include "messages.h"' >> messages.c
- echo -n '#define bool int
- ' >> messages.c
- echo -n '#define true 1
- ' >> messages.c
- echo -n '#define false 0
- ' >> messages.c
- echo '#include "Configuration_prusa.h"' >> messages.c
- sync -f messages.c
- echo '//internationalized messages' | tee -a messages.h >> messages.c
- cat msgs_en.txt | sed 's/\\/\\\\/g' | while read msg cols rows text; do
- if echo "$msgs" | grep "^$msg" >/dev/null; then
- echo "extern const char $msg[] PROGMEM;" >> messages.h
- echo "const char $msg[] PROGMEM = "$text";" >> messages.c
- echo "$msg"
- fi
- done
- echo '//not internationalized messages' | tee -a messages.h >> messages.c
- cat msgs_common.txt | sed 's/\\/\\\\/g' | while read msg text; do
- if echo "$msgs" | grep "^$msg" >/dev/null; then
- echo "extern const char $msg[] PROGMEM;" >> messages.h
- echo "const char $msg[] PROGMEM = "$text";" >> messages.c
- echo "$msg"
- fi
- done
- read
- exit
- #messages used twice or more will be listed in messages.h and messages.cpp.
- #msgs=$(cat msgs_usage.txt | grep -v " 0$" | grep -v " 1$" | cut -f1 -d' ')
- msgs=$(cat msgs_usage.txt | grep -v " 0$" | cut -f1 -d' ')
- echo '//messages.h' > messages.h
- echo '//messages.c' > messages.c
- echo '#include <avr/pgmspace.h>' >> messages.h
- echo '#include <avr/pgmspace.h>' >> messages.c
- #internationalized messages
- echo '//internationalized messages' >> messages.h
- echo '//internationalized messages' >> messages.c
- msgs2=$(cat msgs_en.txt | while read msg cols rows text; do
- if echo "$msgs" | grep "^$msg" >/dev/null; then
- echo "extern const char $msg[] PROGMEM;" >> messages.h
- echo "const char $msg[] PROGMEM = $text;" >> messages.c
- echo $msg
- fi
- done)
- #not internationalized messages
- echo '//not internationalized messages' >> messages.h
- echo '//not internationalized messages' >> messages.c
- cat msgs_common.txt | while read msg text; do
- if echo "$msgs" | grep "^$msg" >/dev/null; then
- if echo "$msgs2" | grep "^$msg" >/dev/null; then
- else
- echo "extern const char $msg[] PROGMEM;" >> messages.h
- echo "const char $msg[] PROGMEM = $text;" >> messages.c
- echo $msg
- fi
- fi
- done
- echo "finished..."
- read
- exit
- cat msgs_en.txt | while read msg cols rows text; do
- if echo "$msgs" | grep "^$msg" >/dev/null; then
- echo "$msg $text"
- fi
- done
- #; then
- # echo "" $msg
- # fi
- #done
- #echo "$msgs" | while read msg; do
- # echo "" $msg
- #done
- #msg=MSG_WIZARD_FILAMENT_LOADED
- #txt="PSTR(\"Is filament loaded?\")"
- #fn=../ultralcd.cpp
- #sed -i "s/$msg/$txt/g" $fn
- read
|