images/genicons.sh
author Andrey Skvortsov <andrej.skvortzov@gmail.com>
Sun, 06 Jan 2019 03:11:39 +0300
changeset 2501 eba2bbb2dd9a
parent 2238 a01a3ed1af2c
child 3569 419f17564583
permissions -rwxr-xr-x
Make online debug optional

It could be useful for very small targets like Atmega (Arduino) and
for target bring-up there developer want to have running PLC program,
but has not implemented runtime communication yet.


TARGET_DEBUG_AND_RETAIN_DISABLE - completely disable debug and retain
functionality. Previously named TARGET_DEBUG_DISABLE.

TARGET_ONLINE_DEBUG_DISABLE - can be used to enable retain
functionality (no define TARGET_DEBUG_AND_RETAIN_DISABLE is used), but disable
online debug with corresponding RAM/FLASH overhead.

TARGET_LOGGING_DISABLE - disables logging functionality from runtime and PLC program

TARGET_EXT_SYNC_DISABLE - disables PLC program synchronization with
external events. For example, it could be used to synchronize several
PLCs that control motors for different axes.

By default all these options are off.

To test generate program for Generic target, put following files in
project files directory and run build.sh after generating PLC program.
This is very easy to integrate into makefile (Generic target).

[------------- build.sh --------------------------]
files=$(find $PWD/../build -iname '*.c' | grep -v POUS.c)
arm-none-eabi-gcc \
-DTARGET_DEBUG_AND_RETAIN_DISABLE \
-DTARGET_ONLINE_DEBUG_DISABLE \
-DTARGET_LOGGING_DISABLE \
-DTARGET_EXT_SYNC_DISABLE \
-flto -ffunction-sections -fdata-sections -I../../../../matiec/lib/C \
$files \
main.c \
-Wl,--Map=./program.map,--cref \
-nodefaultlibs --specs=nano.specs -Wl,--static -Wl,--gc-section -Wl,--start-group -lc -lm -lnosys -lgcc -Wl,--end-group
[------------------------------------------------]

[------------- main.c --------------------------]
#ifndef TARGET_DEBUG_AND_RETAIN_DISABLE
void Retain(void){}
void InValidateRetainBuffer(void){}
void ValidateRetainBuffer(void){}
#endif

extern void __run(void);
int main(void)
{
for(;;) {
__run();
// sleep common_ticktime__ ns
// add common_ticktime__ ns to __CURRENT_TIME
}
return 0;
}
[------------------------------------------------]
2238
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
     1
#!/bin/sh
197
a50b5fa04c57 SVG/Inkscape based icon generation script + SVG drawing.
etisserant
parents:
diff changeset
     2
a50b5fa04c57 SVG/Inkscape based icon generation script + SVG drawing.
etisserant
parents:
diff changeset
     3
INKSCAPE=inkscape
a50b5fa04c57 SVG/Inkscape based icon generation script + SVG drawing.
etisserant
parents:
diff changeset
     4
2238
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
     5
for fname in `ls *.svg`; do
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
     6
    for i in `cat $fname |grep -o -e '%%[^%]*%%'|sed 's/%//g'` 
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
     7
    do
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
     8
        if [ $i.png -nt $fname ]; then
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
     9
 	    echo "Skip $i"
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    10
        else
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    11
	    rm  -f $i.png
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    12
	    echo "$INKSCAPE" $fname -z -e $i.png -i $i
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    13
	    "$INKSCAPE" $fname -z -e $i.png -i $i
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    14
        fi
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    15
    done
197
a50b5fa04c57 SVG/Inkscape based icon generation script + SVG drawing.
etisserant
parents:
diff changeset
    16
done
a50b5fa04c57 SVG/Inkscape based icon generation script + SVG drawing.
etisserant
parents:
diff changeset
    17
2238
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    18
cp ico024.png brz.png
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    19
convert -compress none ico*.png brz.ico
533
25437efb7ae4 Christmas 2009 release
Edouard TISSERANT <edouard.tisserant@gmail.com>
parents: 199
diff changeset
    20
rm -f ico*.png
2238
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    21
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    22
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    23
convert -compress none poeico*.png poe.ico
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    24
rm -f poeico*.png
a01a3ed1af2c Take plcopen_icons.svg as source of png icons as well
Andrey Skvortsov <andrej.skvortzov@gmail.com>
parents: 533
diff changeset
    25